Mysql的常考表操作指令

自己整理了一些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 父表名(父表键名);

朋友们学会了吗?记得定期复习哦~

相关推荐
xiaogai_gai10 分钟前
销售出库单同步实战:旺店通→金蝶云星空的单一策略深度拆解
大数据·前端·数据库
下页、再停留13 分钟前
【C#桌面客户端系列学习-11】将SQLite数据库打包到exe里
数据库·c#·visual studio
下页、再停留13 分钟前
【C#桌面客户端系列学习-12】封装SQLite数据库基础操作工具类(CURD)
数据库·c#·visual studio
最强小杰13 分钟前
Claude Opus 4.8 调用报 529 怎么办?并发限制触发过载——退避策略与降级方案完整指南
运维·网络·python·ai
LYmatch17 分钟前
2024年408真题第41~47题汇总解析
数据库
程序员Sunday23 分钟前
Redis 缓存穿透、击穿、雪崩怎么区分?从回源压力找原因
数据库·redis·缓存
databook27 分钟前
MinMax vs Standard vs Robust:三种特征缩放怎么选
python·机器学习·数据分析
我科绝伦(Huanhuan Zhou)27 分钟前
磐维数据库(PanWeiDB)日常运维命令总结
运维·数据库
在世修行29 分钟前
智学文枢:实体模型层
python·orm·sqlalchemy
guo_wen_qiang33 分钟前
redis实现秒杀功能-超卖&库存遗留问题的解决
数据库·redis·缓存