1. 约束的概念和种类
约束:对表中的数据可以进行进一步的限制,来保证数据的唯一性,正确性和完整性。
约束种类:
PRIMARY KEY : 主键约束 代表该字段的数据不能为空且不可重复
NOT NULL : 非空 代表该字段的数据不能为空
UNIQUE : 唯一 代表该字段的数据不能重复
2. 什么是主键约束?
一个表中都得需要主键约束,用来标注一条记录的唯一性。
通常不用业务字段作为主键,单独给每张表设计一个id的字段,把id作为主键。主键是给数据库和程序使用的,不是给最终的客户使用的。所以主键有没有含义没有关系,只要不重复,非空就行。
3. 主键约束的特征
主键字段值唯一不可重复
主键字段值不能包含NULL值
一个表中只能有一个主键,但主键可以是多个字段 (联合主键)
4. 主键约束的实现方式
- 添加主键约束:
方式一 在创建表时,添加约束
格式
create table 表名 (
字段名称1 字段类型 primary key,
字段名称2 字段类型 primary key
);
方式二 在创建表时,结尾内添加约束
格式1:单一主键
create table 表名 (
字段名称1 字段类型,
字段名称2 字段类型,
primary key(字段名称1)
);
格式2:联合主键
create table 表名 (
字段名称1 字段类型,
字段名称2 字段类型,
primary key(字段名称1,字段名称2)
);
- 删除主键约束:
alert table 表名 drop primary key;
5. 如何让数据库自动维护主键实现主键自增
语法:字段名称 字段类型 主键约束 auto_increment
默认的 auto_increment 的开始值是1,如果希望修改起始值,请使用下列SQL语法 :
alter table 表名 auto_increment=起始值;
6. delete和truncate删除表数据后对于主键自增的区别
delete 删除表中的数据,但不重置 auto_increment 的值 ;
truncate 摧毁表,重建表,auto_increment 重置为1 。
7. 什么是唯一约束
被unique修饰的字段唯一,不可重复。
注意: 一个表中可以有多个被unique修饰的字段,但对null不起作用。
8. 唯一约束的实现方式
创建表时在字段后添加
create table 表名 (
字段名称1 字段类型 unique,
字段名称2 字段类型 unique
);
9. 什么是非空约束?
被not null修饰的字段不可为空。
10. 非空约束的实现方式?
创建表时在字段后添加
create table 表名 (
字段名称1 字段类型 not null,
字段名称2 字段类型 not null
);
11. 默认值的作用和语法格式
往表中添加数据时,如果不指定这个字段的数据,就使用默认值。
默认值格式: 字段名 字段类型 default 默认值