MySQL字段约束

非空约束 not null

唯一约束 unique

主键约束 primary key

表中记录的唯一标识,非空唯一,在一张表中只能有一个主键,(可以是一个列,也可以是多个列的组合)
 1. 定义主键:
	 - 在创建表时直接定义主键 xx_xx char(4) primary key;
	 - 在创建表的最后单独定义    primary key(字段名);
 2. 去掉主键约束
	 - alter table <tableName> drop primary key;
 3. 添加表格主键约束
 alter table <tabkeName> modify <cloumnName> char(4primary key;-- 可以修改类型也可以不修改


- 主键自增长(auto_increment)
	 在表中没有合适的列作为主键,可以额外定义一个与数据无关的列作为主键 可以定义为id int 同时设置为自增长 -- id int primary auto_increment
	 注意:删除生成过的id,不会再生产第二次

- 联合主键
 将数据表中的多列组合在一起设置为表的主键
 定义: primary key (stu_num,course_id)

image

外键约束

 在多表关联处查询
 外键约束——将一个列添加外键约束与另一张表的主键进行关联后,这个外键约束的列添加的数据必须要在关联的主键字段中存在
 案例:学生表 与 班级表 (在学生表中添加的外键与班级表的主键关联)
	 1. 先创建班级表

image

	 2. 创建学生表(在学生表中添加外键与班级表的主键关联)

image

  • 方式一:constraint(声明) 外键名 foreign key(cid) refernces(与谁关联) classes(class_id)

  • 方式二:先创建表,再添加约束 -- alter table students add constraint FK_STUDENTS_CALSSES foreign key(cid) references classes(class_id);
    image不然会报错

  • 删除外键约束
    alter table students drop foreign key 外键名;

级联操作

image
image
image
image

posted @   ht7714  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示