约束条件与数据类型的宽度一样,都是可选参数。作用:用于保证数据的完整性和一致性。
主要分为:
primary key: 标示该字段为主键,能够唯一的标示记录
foreign key: 标示该字段为外键
not null: 标示该字段不能为空
unique: 标示该字段的值时唯一的
auto_increment: 标示该字段的值自动增长(整数类型,而且为主键)
default: 为该字段设置默认值
unsigned: 无符号
zerofill: 使用0填充
说明:
1、是否允许为空,默认为null,设置not null,使字段不允许为空,必须赋值
2、字段是否有默认值,缺省值是null,如果插入记录时不给字段赋值,使此字段使用默认值null
【示例】
# 设置枚举的默认值,且不为空
sex enum('boy', 'girl') not null default 'boy';
# 设置年龄必须为正值(无符号)且不为空
age int unsigned not null default 20
一、unique
单列唯一的两种使用方式:
(1)创建unique
create table test(
id int,
name char(3) unique
);
(2)创建unique
create table test(
id int,
name char(3),
unique(id),
unique(name)
);
(3)联合唯一:即指定表中两条或以上的记录,只有当这些被指定的记录都相同时才符合联合唯一,否则不会被限制。
create table test(
ip char(15),
port int,
unique(ip, port) #联合唯一
);
二、primary key
一张表中可以:单列做主键,多列做主键(复合主键)
约束:字段的值不为空,且唯一。等价于not null unique
(1)单列主键
create table test(
id int primary key,
name char(3)
);
(2)复合主键
create table test(
ip char(15),
port int,
primary key(ip, port)
);
网友评论