数据表
数据表是列的集合,数据是行的集合。
创建数据表的过程是规定列的属性的过程,同时也是实施数据库完整性(包括实体完整性、引用完整性和域完整性等)约束的过程,
创建数据表的语法
CREATE TABLE <表名>
(
字段名 数据类型 [列级别约束条件] [默认值],
字段名 数据类型 [列级别约束条件] [默认值],
...
[表级别约束条件]
)
约束条件
主键约束
主键能够唯一地标识表中的一条记录,可以结合外键来定义不同数据表之间的关系,并且可以加快数据库查询的速度。
主键本身是“非空且唯一”的,也就是如果是多字段联合主键,那么该联合主键不能为空。
列级别定义主键约束
单一主键:
字段名 数据类型 PRIMARY KEY [默认值]
联合主键:
PRIMARY KEY [字段1, 字段2,. . ., 字段n]
表级别定义主键约束
在表中的字段定义完成之后定义表级别的约束条件:
[CONSTRAINT <约束名>] PRIMARY KEY [字段名]
外键约束
外键用来在两个表的数据之间建立连接,可以是一列或者多列。一个表可以有一列或者多列外键。
外键确保了“参照完整性”,一个表的外键可以为空值,若不为空值,则每一个外键值必须等于另一个表中主键的某个值。
[CONSTRAINT <外键名>] FOREIGN KEY 字段名1 [ ,字段名2,…]
REFERENCES <主表名> 主键列1 [ ,主键列2,…]
非空约束
字段名 数据类型 NOT NULL
唯一约束
字段名 数据类型 UNIQUE
默认值约束
字段名 数据类型 DEFAULT 默认值
设置字段自增
字段名 数据类型 AUTO_INCREMENT
一个表只能有一个字段使用AUTO_INCREMENT约束,且该字段必须为主键的一部分。