MySql数据库操作
1.使用命令:
create database 数据库名 default character set utf-8
mysql注释:##注释内容
2.删除数据库:
drop database 数据库名
## 创建数据库
create database zzu default character set utf8;
## 切换数据库
use zzu;
## 删除数据库
drop database zzu;
MySql数据库表的操作
1.创建表语句:
create table 表名(字段名,类型,约束.............);
注意:Mysql是没有序列的,但是可以设置主键自增,在字段的后面使用auto_increment关键字
##创建学生表
create table student(
sid int(10) not null auto_increment primary key,
sname varchar(100) not null,
sage int(3) ,
ssex char(3),
sbirth date
)
2.数据类型
数值类型;
int(长度) 表示整数型,长度自己指定但是有范围
float,double表示浮点数
字符串类型:
varchar(长度) 字符串 动态分配长度
char(长度) 字符串 指定分配长度
日期类型:
date:格式为:yyyy--mm-dd
datetime格式为:yyyy-mm-dd hh-mm-ss,占用8个字节
timestamp:自动换算时区,占用4个字节
time:时间
year:年份
其他类型:
TEXT:字符数据
BLOB:二进制数据
3.约束
主键约束:
1.在字段后面添加 primary key
2.在创建表的最后,constraint pk_表名_字段名 primary key(字段名)
3.在创建表的外面使用alter table 表名 add constraint pk_表名_字段名 primary key(字段名)
非空约束;
1.在字段后面直接使用not null即可
2.在创建表的外面alter table 表名 modify 字段 类型 not null
注意:在Mysql数据库中not null可以为空字符串,但是Oralce不行,必须的有字符
检查约束:
在mysql中没有检查约束,但是写了也不会报错
解决:1.使用代码逻辑校验
2.使用mysql的存储过程
唯一约束
1. 可以直接在字段的后面添加关键字unique
2.还可以在创建表的结尾constraint un_表名_字段名 unique key (字段名)
3.alter table 表名 add constraint un_表名_字段名 unique key(字段名)
外键约束
1.创建表的最后面 : 父表主键字段 类型 references 父表名(映射字段)
2.在创建表的外面使用alter table 子表名 add constraint 外键约束名 foreign key (字段名) reference 父表名(字段名) on delete cascade on update
--------------------------------------------------------------------创建表的模板-------------------------------------------------------------
create table student(
sid int(10) not null auto_increment primary key,
sname varchar(100) not null,
sage int(3) ,
ssex char(3),
sqq int(11) not null unique,
sbirth date,
cid int(10) references clazz (cid)
)
4.表的修改
添加字段
alter table 表名add 新字段名 类型;
删除字段
alter table 表名drop 被删除字段名
修改字段数据类型
alter table 表名modify 字段名 新的数据类型;
修改字段名
alter table 表名 change 就字段名 新字段名 数据类型;
修改表名
alter table 表名 rename as 新表名
删除表
drop table 表名
5.其他操作
显示数据库中的表
show databases
显示表的创建语句
show create table 表名