自己整理了一些Mysql的表操作指令,包含了最常考的主键,非空,外键等。希望对大家有帮助,祝大家秋招顺利!
首先我们要区分DDL和DML的区别:
DDL主要操作的是表的对象和结构,比如添加删除修改字段,重命名表,添加删除表
DML操作数据,插入更新删除数据
但是在这里为了方便,小编把他们放在一起了,注意区分哦
创建表:
Create table [if not exists] 表名(
字段 数据类型
Name varchar(20)not null**,非空约束**
Age intnot null default 20****, 默认约束
Sno intunique****,唯一约束(默认允许空值,多个空值不算错)
[constraint约束名**]unique(Name,****Sno)**联合唯一约束,意思是只要不是都重复就行
Id varchar(20)primary key,主键(不能·为空,值唯一,只能有一个主键)
[constraint约束名**]primary key(Name,****Sno)**联合主键,
Id intprimary key auto_increment,自动递增,表里只能有一个,跟主键配合使用,
Constraint外键名foreign key (子表的字段) references父表表名(父表的主键名)
一个表可以有多个,创建与插入数据都是先父后子,外键子连父,先删子后删父,父子数据类型要一致
);
修改表:
alter table 表名 +
添加字段:Add column 新列名 新数据类型 [约束条件] [first|after 列名];
修改字段类型 Modify column 列名 新数据类型 [约束条件];
修改字段位置 Modify column 列名 数据类型 [first|after 列名];
修改字段名称 Change column 旧列名 新列名 数据类型;
删除字段 Drop column 列名;
修改表名 Rename to 新表名
添加非空约束**/**自动递增 modify column 字段 数据类型 not null/auto_increment ;
删除 非空约束**/**自动递增 modify column 字段 数据类型 (啥也不写就相当于删除了) ;
添加唯一约束 (1)modify 字段名 数据类型 unique;/ (2)add [constraint 约束名] unique(字段名);
删除唯一约束 (1.有约束名时)drop index/key 约束名; / (2.没有约束名时)drop index (字段名)/key (字段名)
删除主**/**外键 drop primary key [外键名];
添加主键**/**外键 add primary key(字段)/ add foreign key (子表键名) references 父表名(父表键名);
朋友们学会了吗?记得定期复习哦~