啦啦啦29

2020-06-01   阅读量: 705

数据分析师

MySQL中的约束条件

扫码加入数据分析学习群

主键约束(primary key)

1.每个表中只能有一个主键

2.主键值必须是非空不重复

3.可以设置单字段主键,也可以设置多字段联合主键

联合主键中多个字段的取值完全相同时,才违反主键约束

添加单字段主键约束:create table <表名> (<字段名1> <字段类型1> primary key,……<字段名n> <字段类型n>);

添加多字段联合主键约束:create table <表名>(<字段名1> <字段类型1>,......<字段名n> <字段类型n>,[constraint 主键约束名]

primary key(字段名1[,字段名2,...字段名n]));

唯一约束(unique)

指定字段的取值不能重复,可以为空,但只能出现一个空值

• 添加唯一约束:

单字段添加唯一约束:create table <表名> (<字段名1> <字段类型1> unique,……<字段名n> <字段类型n>);

多字段添加唯一约束:create table <表名> (<字段名1> <字段类型1,……<字段名n> <字段类型n>,[constraint 唯一约束名] unique

(字段名1[,字段名2...字段名n]));

自动增长列(auto_increment)

1.指定字段的取值自动生成,默认从1开始,每增加一条记录,该字段的取值会加1

2.只适用于整数型,配合主键一起使用

创建自动增长约束:create table <表名> (<字段名1> <字段类型1> primary key auto_increment,……<字段名n> <字段类型n>);

非空约束(not null)

字段的值不能为空

创建非空约束:create table <表名> (<字段名1> <字段类型1> not null,……<字段名n> <字段类型n>);

默认约束(default)

如果新插入一条记录时没有为该字段赋值,系统会自动为这个字段赋值为默认约束设定的值

创建默认约束:create table <表名> (<字段名1> <字段类型1> default value,……<字段名n> <字段类型n>);

外键约束(foreign key)

在一张表中执行数据插入、更新、删除等操作时,DBMS都会跟另一张表进行对照,避免不规范的操作,以确保数据存储的完整性。 1.某一表中某字段的值依赖于另一张表中某字段的值

1.主键所在的表为主表,外键所在的表为从表

2.每一个外键值必须与另一个表中的主键值相对应

创建外键约束:create table <表名> (<字段名1> <字段类型1>,……<字段名n> <字段类型n>,[constraint 外键约束名]

foreign key(字段名) references <主表>(主键字段));

需要注意的是:

  • 约束条件在对数据内容进行修改和删除的时候起作用
  • 默认约束:默认值的数据类型必须与字段的数据类型一致
  • 先有主表和主键才能创建外键
  • 各约束条件间没有先后顺序
  • 数据类型必须写在约束条件之前
  • 主键约束不受“change”关键字的影响
27.2440 2 2 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子