SQL入门教程(二):约束条件及表操作
前言
我是一个初学者,文中部分概念是按照自己的理解去解释的,可能会存在错误。表操作的代码,自己手打测试过的。话不多说,直接进入主题吧!
完整性约束
怎么理解完整性约束
对于初学者来说,完整性约束听起来感觉难以理解,其实完整性约束就是一种规则(限制),比如说保证数据是唯一的、要求数据限制在某些范围内或者是一些其他的限制条件。
比如说将员工的ID输入数据库,假如没有限制条件,有人随便写或者写错了,那么这条数据就没有任何用了,所以就得有硬性要求,保证数据的准确有效。
为什么要约束
就是为了防止不符合规范的数据进入数据库,确保库内数据的准确性和一致性。
都有哪些约束条件
约束条件 | 作用 |
---|---|
主键约束 | 约束数据库中每条记录唯一 |
唯一性约束 | 约束数据库中每条记录唯一(与主键有点区别) |
外键约束 | 确保表之间引用完整 |
NOT NULL 约束 | 不允许该字段存在空值,必须包含值 |
检查约束 | 限制列中值的范围 |
DEFAULT 约束 | 如没其他输入值,则向字段中插入默认值 |
主键约束
主键是由一个或多个列构成,作用在于表里的每条记录具有唯一值。
1.必须包含唯一值
2.不能包含NULL值
3.每个表都应该有主键,且只有一个
下面是操作主键约束的SQL语法:
- 创建‘Exercise_tbl’表,将‘EX_ID’作为主键(PRIMARY KEY)。
CREATE TABLE Exercise_tbl
(
EX_ID CHAR(9) NOT NULL ,
EX_NAME VARCHAR(20) NOT NULL,
EX_PHONE VARCHAR(10) NULL
CONSTRAINT EXE_ID_PK PRIMARY KEY (EX_ID)
);
- 撤销主键约束
ALTER TABLE Exercise_tbl
DROP PRIMARY KEY;
- 表’Exercise_tbl’已经创建,为’EX_ID’添加主键约束。
--注意:使用 ALTER TABLE 添加主键时,必须在表首次创建时,主键列声明为不包含空值(即 NOT NULL)。
ALTER TABLE Exercise_tbl
ADD PRIMARY KEY (EX_ID);
唯一性约束
1.唯一性约束和主键约束类似,约束某个字段的值在记录中是唯一的。
2.每个表中只能存在一个主键,可以存在多个唯一性约束。
下面是操作唯一性约束的SQL语法:
- 创建’Exercise_tbl_first’表,为’EX_NAME’创建唯一性约束(UNIQUE)。
CREATE TABLE Exercise_tbl_first
(
EX_ID CHAR(9) NOT NULL PRIMARY KEY,
EX_NAME VARCHAR(20) NOT NULL