SQL语句之 数据约束

时间:2021-04-21 16:03:12

SQL语句之 数据约束

什么是数据约束

数据约束用来限制用户对数据的非法的修改操作。

1.约束字段的默认值

如果插入记录时,没有给某个字段赋值,那么我们可以设置它的默认值

关键字:default

CREATE TABLE test1(
tin INT,
tname VARCHAR(20) DEFAULT '待定'
);
INSERT INTO test1(tin) VALUES (1);
SELECT * FROM test1;

2.非空约束

约束一个字段,使它的值不能为空

关键字: not null

CREATE TABLE test1(
tin INT,
tname VARCHAR(20) NOT NULL
);

这里的非空指的是null 和 没有插入值,如果是空字符串,是可以插入的。

3.约束重复值

使不同的记录的字段的值不能相同。

关键字: unique

CREATE TABLE test1(
tin INT UNIQUE,
tname VARCHAR(20)
);

虽然不可重复,但是null可以插入,而且可以多个记录的值为null。

4.主键约束

当需要每一条记录都有一个唯一的标识,这就需要使用主键,例如生活中的ID,一般公司内每个人的ID都是唯一的,对每个人都是唯一的标识。

关键字:primary key

CREATE TABLE test1(
tin INT PRIMARY KEY,
tname VARCHAR(20)
);

主键的特性: 唯一,不能为null。

5.自增长

有些数据我们希望每插入一条记录到表中,那么该记录的自动获得一个编号,每次插入一条记录,该编号就自动加1,例如ID,这就需要用到自增长。

关键字:auto_increment

CREATE TABLE test1(
tin INT PRIMARY KEY AUTO_INCREMENT,
tname VARCHAR(20)
);

自增长的特性:

我们使用delete from 语句来删掉表中的所有数据,自增长数值是不会重置的。

如果使用truncate fom 语句来删除表中所有数据,自增长数的值会重新从0算起。

TRUNCATE TABLE test;