创建数据库
create database test1;
查看数据库
show databases;
删除数据库
drop database test1;
1.创建表结构的语句
CREATE TABLE t_student
(
sid int(5),
sname VARCHAR(10)
);
2.修改表结构并添加注释
alter table t_student modify column sname varchar(20) comment ‘学生姓名’;
3.在创建表的时候就添加注释信息
3.1 删除表
drop table t_student;
3.2 添加注释
create table t_student
(
sid int(5) comment ‘学号’,
sname varchar(20) comment ‘姓名’
)comment = ‘用户表’
4. 修改表结构
4.1 添加字段
alter table t_student add age int(3);
4.2 修改字段类型
alter table t_student modify age varchar(20);
alter table t_student modify age int(3);
4.3 修改字段名称
alter table t_student change column age sage int ; – mysql 5;
alter table t_student rename column age to sage ; – mysql 8;
4.4 删除字段
alter table t_student drop column sage;
5.约束
5.1 非空约束
在创建表的时候就添加非空约束
drop table t_student;
create table t_student
(
sid int(5) not null comment ‘学号’,
sname varchar(20) comment ‘姓名’
)comment = ‘用户表’
在创建表后添加非空约束
alter table t_student change sid sid int not null ;
5.2 默认值
drop table t_student;
create table t_student
(
sid int(5) not null comment ‘学号’,
sname varchar(20) comment ‘姓名’,
sage int(3) default 18 comment ‘年龄’
)comment = ‘用户表’;
6.唯一约束
6.1 创建表的时候添加唯一约束;
drop table t_student;
create table t_student
(
sid int(5) unique not null comment ‘学号’,
sname varchar(20) comment ‘姓名’,
sage int(3) default 18 comment ‘年龄’
)comment = ‘用户表’;
6.2 创建表后添加唯一约束 NULL可以重复
alter table t_student add CONSTRAINT unique_name UNIQUE(sname);
alter table t_student add unique(sname);
7. 主键 用于识别一条记录唯一性的字段;
7.1 创建表的时候创建主键
drop table t_student;
create table t_student
(
sid int(5) primary key auto_increment comment ‘学号’,
sname varchar(20) comment ‘姓名’,
sage int(3) default 18 comment ‘年龄’
)comment = ‘用户表’;
7.2 创建表后再创建主键
– 一个表中只能存在一个主键
alter table t_student add constraint pk_t_student_id primary key(sid);
alter table t_student add primary key(sid);
7.3 联合主键
多个字段的组合信息是不能出现重复的
alter table t_student add constraint pk_t_student_id primary key(sid,sname);
alter table t_student add primary key(sid,sname);
8.外键 主表的中外键字段保存的是从表中的主键字段
– 外键就是在主表中可以重复出现,但是它的值是另一个表的主键,外键使两个表相关,外键可约束表的数据的更新,外键和主键表联系,数据类型要统一,长度(存储大小)要统一,在更新数据的时候会保持一致性
create table t_class
(
cid int(5) primary key auto_increment comment’班级编号’,
cname varchar(20) comment’班级名称’
)
– 创建表时就创建外键
drop table t_student;
create table t_student
(
sid int(5) primary key auto_increment comment ‘学号’,
sname varchar(20) comment ‘姓名’,
sage int(3) default 18 comment ‘年龄’,
cid int(5),
CONSTRAINT fk_student_class_id FOREIGN KEY(cid) REFERENCES t_class(cid)
)comment = ‘用户表’;
– 创建表后创建外键
alter table t_student
CONSTRAINT fk_student_class_id FOREIGN KEY(cid) REFERENCES t_class(cid)
– 注意:外键字段的级联关系,如果我们要删除外键对应的主键记录,那么必须要先删除该注解对应的所有的外键记录,否则删除不成功,
– 实际开发中我们对主键的使用比较少。
🧐 微信公众号:搜索《Java高性能架构》
📒原创不易,如果觉得不错请给我一个,三连、收藏、加关注,需要资料的同学可以私聊我!
😉 有问题可以点击下方私信交流 😆
如果我的博客对您有帮助 再次希望大家点赞 👍 收藏 ⭐留言 📝 啦 、感谢大家对我支持,让我有了更多的创作动力,希望我的博客能帮助到你
9. Check 约束
drop table t_student;
create table t_student
(
sid int(5) primary key auto_increment comment ‘学号’,
sname varchar(20) comment ‘姓名’,
sage int(2) default 18 comment ‘年龄’,
CHECK(age>=18 and age<30),
cid int(5),
CONSTRAINT fk_student_class_id FOREIGN KEY(cid) REFERENCES t_class(cid)
)comment = ‘用户表’;