1、约束
1)主键约束 PRIMARY KEY。
一张数据表只能有一个主键,主键自动为NOT NULL,主键保证记录的唯一性。
主键可以与AUTO_INCREMENT(自动增加编号,从一开始,一次加一)配合使用,AUTO_INCREMENT必须与主键配合使用。
如下定义id 为主键,自动编号,变量类型为无符号的smallint。
<pre name="code" class="sql">CREATE TABLE tb1(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(20) NOT NULL
);
2)唯一约束 UNIQUE KEY
一张数据表可以存在多个唯一约束。可以为空。可以保证记录的唯一性。
一张数据表可以既有主键约束,又有唯一约束
如家创建了ID为主键约束,username为不可为空的唯一约束的数据表
为该数据表添加记录时,可以只添加username,因为id是自动编号的
CREATE TABLE tb1(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(20) NOT NULL UNIQUE KEY,
age TINYINT UNSIGNED
);
3)默认约束
如果添加记录时,没有明确为该项赋值,则自动赋为默认值。
如下表示:sex有三个可选值,‘1’表示男,‘2’表示女,‘3’表示保密,默认为保密
CREATE TABLE tb1(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(20) NOT NULL UNIQUE KEY,
sex ENUM('1','2','3') DEFAULT '3'
);