数据库---单表约束

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 默认值


版权声明:本文为ggh0314原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。