设置主键:
该列的值用来唯一标识表中每一行,用于强制表的实体完整性。这样的列定义为表的主键,也就是说主键的列中不允许有相同的数据。
设置默认:
CREATE TABLE pet(
#not null 非空 ZEROFILL 补零 先补零,在非空
id int(5) ZEROFILL not null,
#DEFAULT 默认值
pet_name VARCHAR(255) DEFAULT '小黑',
#注释
price DECIMAL(10,2) COMMENT '价格'
);
CREATE TABLE aa(
#AUTO_INCREMENT 自增
id int PRIMARY KEY Auto_INCREMENT,
name VARCHAR(255),
sex char(2)
);
外键:
概念:是另一张表的主键,用来和其他表建立关系用的
作用:保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 使两张表形成关联,外键只能引用外表中的列的值或使用空值。 使用规则口诀:外键就是指另外表中的主键 。
例如:要在学生成绩表中查询某一位学生,这个学生的学号一定是在学生信息表中存在的,否则就会出现错误。
主外键建立和注意事项
当主表中没有对应的记录时,
不能将记录添加到子表 ,成绩表中不能出现在学员信息表中不存在的学号 不能更改主表中的值而导致子表中的记录孤立 ,把学员信息表中的学号改变了,学员成绩表中的学号也应当随之改变 子表存在与主表对应的记录,不能从主表中删除该 ,不能把有成绩的学员删除了 删除主表前,先删子表,先删学员成绩表、后删除学员信息表。
主外键区别总结:
添加约束:
添加约束有两种方式:
修改表结构: