数据库和表的设计
MySQL第二章
数据完整性在MySQL中的体现
- 使用主键约束
(1)设置单字段为主键
在MySQL中由-一个字段做为主键时,分为两种情况。
(2)在定义列的同时设置主键,语法规则如下:
列名数据类型 PRIMARY KEY [默认值] - 设置字段为自动增长
1)个 表中 只能有一个字段使用AUTO _INCREMENT
- AUTO _INCREMENT必须做为主键的一个部分(只有主键可以设置),不得单独使用。
- AUTO INCREMENT字段的数据类型必须为整数类型。
设置表的字段为自动增长的语法:
列名数据类型 AUTO INCREMENT PRIMARY KEY
- 使用外键约束
外键约束中有两个名词,需要大家注意。
1)主表(父表): 对于两个具有关系的表而言,相关联的字段中主键所在表即为主表。
2)从表(子表): 对于两个具有关系的表而言,相关联的字段中外键所在表即为从表。
创建外键的语法如下:
(CONSTRAINT外键名] FOREIGNKEY字段名1[字段名2…REFERENCES主表名主键列1L主键列2… - 使用非空约束
非空约束Iot Nu cren指字段的值不能为空。对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库系统将会报错。
建表时设置非空约束的语法:
字段名数据类型not null - 使用默认约束
默认约束指定某列的默认值。如果男生比较多,我们就可以将性别字段的默认值设置为”男”。如果插入一条新的纪录时没有为这个字段赋值,那么系统会自动为这个字段赋值为“男”。
建表时设置默认值约束的语法如下:
字段名数据类型default 默认值 - 使用唯一约束
唯一(UNIQUE)约束:要求该列的值唯一, 允许为空,但是只能出现一个空值。唯一约束可以确保一列或者多列不出现重复值。
唯一约束的语法规则如下:
字段名数据类型UNIQUE