一、约束介绍
约束是一种限制,它通过对表的行或列的数据做出限制,来确保数据的完整性、一致性。约束条件与数据类型宽度一样都是可选参数。
常用约束:
PRIMARY KEY (PK) 标识该字段为该表的主键,可以唯一的标识记录 FOREIGN KEY (FK) 标识该字段为该表的外键 NOT NULL 标识该字段不能为空 UNIQUE KEY (UK) 标识该字段的值是唯一的 AUTO_INCREMENT 标识该字段的值自动增长(整数类型,而且为主键) DEFAULT 为该字段设置默认值 UNSIGNED 无符号 ZEROFILL 使用0填充
(一)、not null与default
not null 用于约束列不允许为空
null 列的默认约束为null 允许为空
default 默认值,创建列时可以指定其默认值,插入数据为设置时,自动添加为默认值。
mysql> create table test1(id int not null,name varchar(11) default 'aaa'); Query OK, 0 rows affected (0.26 sec) mysql> insert into test1 value(null,'abc'); ERROR 1048 (23000): Column 'id' cannot be null mysql> insert into test1(id) value(1); Query OK, 1 row affected (0.29 sec) mysql> select * from test1; +----+------+ | id | name | +----+------+ | 1 | aaa | +----+------+ 1 row in set (0.00 sec)