一、约束定义:
- 设置在表头上,用来限制字段赋值。
- 每种约束都有各自的功能。
二、常用基础约束条件:
关键词 | 名称 | 说明 |
---|---|---|
NOT NULL | 设置字段非空 | 用于保证表头的值不能为空 |
DEFAULT | 设置字段默认值 | 不给表头赋值时,保证表头有值 |
UNIQUE | 设置字段唯一索引 | 用于保证表头的值具有唯一性,可以为空Key 字段标志为:UNI
|
三、语法格式:
CREATE TABLE 库名.表名(
字段名1 数据类型 约束条件1,约束条件2,约束条件3..
字段名2 数据类型 约束条件1,约束条件2,约束条件3..
...
);
四、使用示例:
- 建表时给表头设置默认和不允许赋null值
mysql> create table db1.t31(
name char(10) not null,
class char(7) default "nsd",
爱好 set("money","game","film","music") not null default "film,music"
) default charset utf8;
# 查看表头,观察Null列,Default列
mysql> desc db1.t31;
+-------+---------------------------------------+------+-----+------------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------------------------------+------+-----+------------+-------+
| name | char(10) | NO | | NULL | |
| class | char(7) | YES | | nsd2107 | |
| 爱好 | set('money','game','film','music') | NO | | film,music | |
+-------+---------------------------------------+------+-----+------------+-------+
3 rows in set (0.00 sec)
- 唯一索引 (unique) 表头值唯一 , 但可以赋null 值
mysql> create table DB1.t43(
姓名 char(10) ,
护照 char(18) unique # 设置唯一
) default charset utf8;
# 查看表头,观察Key列
mysql> desc DB1.t43 ;
+-------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| 姓名 | char(10) | YES | | NULL | |
| 护照 | char(18) | YES | UNI | NULL | |
+--------+----------+------+-----+---------+-------+
2 rows in set (0.00 sec)
网友评论