MYSQL数据库约束类型

时间:2022-07-06 22:29:01

07.14自我总结

MYSQL数据库约束类型

一.主键约束(primary key)

主键约束要求主键列的数据唯一,并且不能为空。主键分为两种类型:单字段主键和多字段联合主键。

1.单字段主键

写法

  • 创建列表数据时

    create table a(

    ​ name char(9) primary key,

    ​ age int

    );

  • 创建列表数据结束后完毕后

    create table a(

    ​ name char(9) ,

    ​ age int,

    ​ primary key(name)

    )

  • 创建表格完后

    alter table test add primary key (name);

2.多字段联合主键

主键由多个字段联合组成。语法规则:Primary Key[字段1,字段2,....,字段n]

2.自动增长

只能与primary key 联用
语法:字段 数据类型 primary key auto_increment n #n为起始位置,可以不填不填默认从1开始

二.外键约束(foreign key)

外键用来在两个表的数据之间建立连接,它可以是一列或者多列。一个表可以有一个或者多个外键。一个表的外键可以为空,若不为空,则每一个外键值必须等于另一个表中主键的某个值。

外键的作用:保证数据应用的完整性。

​ 主表(父表):对于两个具有关联关系的表而言,相关联字段中的主键所在的那个表即是主表。

​ 从表(子表):对于两个具有关联关系的表而言,相关联字段中的外键所在的那个表即是从表。

必须先创建主表再创建从表

创建从表的时候写法末尾处添加 foreign key (从表内的字段) references 主表名称(主表内字段)

如果表创建完毕后我们添加这个条件alter table 从表名称 add oreign key (从表内的字段) references 主表名称(主表内字段)

三.使用非空约束(Not Null)

非空约束指字段的值不能为空。

非空约束 语法规则:字段名 数据类型 not null

创建表格后 alter table test modify 段名 数据类型 not null;

四.唯一性约束(Unique)

指定唯一约束

唯一约束 语法规则:字段名 数据类型 Uniquel

再所有列创建完毕后:unique (字段名称)

创建表格后 alter table test modify 段名 数据类型 Unique;

五.默认约束(Default)

默认约束指定某列的默认值。

语法规则: 字段名 数据类型 Dfault 默认值

创建表格后 alter table test modify 段名 数据类型 Dfault 默认值;