约束是在创建表的时候用的
1、概念
约束英文:constraint
约束实际上就是表中数据的限制条件
2、作用
表在设计的时候加入约束的目的就是为了保证表中的记录完整性和有效性,比如:用户表有些列的值(手机号)不能为空,有些列的值(身份证号)不能重复。
3、分类
常用的约束有:
(1)主键约束(primary key)
(2)自增长约束(auto-increment)
(3)非空约束(not null)
(4)唯一性约束(unique)
(5)默认约束(default)
(6)零填充约束(zerofill)
(7)外键约束(foreign key)
4、主键约束
(1)概念
1))Mysql主键约束是一个列或者多个列的组合,其值能唯一地标识表中的每一行,方便在RDBMS中尽快的找到每一行。
2))主键约束相当于唯一约束+非空约束的组合,即:主键约束该列中的值不允许重复,也不允许出现空值。
3))每个表最多有一个主键。
注意:主键可以加在一个列上,主键也可以加在两列或多列上,两列或多列可以合在一起作为一个主键------联合主键。
4))主键约束的关键字是:primary key
5))当创建主键约束时,系统默认会在所在的列和列组合上建立对应的唯一索引。
(2)操作
1))添加单列主键,即给一个列添加主键
2))添加多列联合主键
3))删除主键
操作一:添加单列主键
创建单列主键有两种方式:
(1)在定义字段(即:列)的同时指定单列主键
语法:
create table 表名(
<字段名><数据类型> primary key,
...
);
示例:
如何在navicat中查看表中的哪列是主键列?
方法:表的名字鼠标右键—》设计表——》键。只要键这一列中,有金色的钥匙,则可以确定该列是主键列。
实践:
第一步;
第二步:
(2)定义完字段之后指定主键
语法;
create table 表名(
...
primary key (字段名)
);
示例:
操作二:添加多列主键
所谓的联合主键就是这个主键是由多个字段组成的。
注意:
(1)当主键由多个字段组成时,不能直接在字段后面声明主键约束。
(2)一张表只能有一个主键,联合主键也是一个主键。
语法:
create table 表名(
...
primary key (字段1,字段2,...)
);
示例:
操作三--删除主键约束
一个表不需要主键约束时,就需要从表中将其删除。删除主键约束的方法要比创建主键约束容易得多。
格式:alter table <表名> drop primary key ;
——————————删除单列主键
——————删除联合主键