SQL 约束是一种数据库约束,它可以限制用户在表中插入、更新和删除数据的方式。它可以帮助保证数据库中的数据的完整性和一致性。SQL 约束可以在创建表时被定义,也可以在表已经存在时被修改。
SQL 约束有多种不同的类型,包括主键约束、外键约束、唯一性约束、非空性约束、检查性约束和默认性约束。
-- 主键约束 ALTER TABLE table_name ADD CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ... column_n); -- 外键约束 ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY (column1, column2, ... column_n) REFERENCES parent_table (column1, column2, ... column_n); -- 唯一性约束 ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE (column1, column2, ... column_n); -- 非空性约束 ALTER TABLE table_name MODIFY (column1 datatype NOT NULL, column2 datatype NOT NULL,...); -- 检查性约束 ALTER TABLE table_name ADD CONSTRAINT constraint_name CHECK (condition); -- 默认性约束 ALTER TABLE table_name MODIFY (column1 datatype DEFAULT value);
PRIMARY KEY 约束唯一标识数据库表中的每条记录。
主键必须包含唯一的值。
主键列不能包含 NULL 值。
每个表都应该有一个主键,并且每个表只能有一个主键。
下面的 SQL 在 "Persons" 表创建时在 "P_Id" 列上创建 PRIMARY KEY 约束:
MySQL:
SQL Server / Oracle / MS Access:
如需命名 PRIMARY KEY 约束,并定义多个列的 PRIMARY KEY 约束,请使用下面的 SQL 语法:
MySQL / SQL Server / Oracle / MS Access:
注释:在上面的实例中,只有一个主键 PRIMARY KEY(pk_PersonID)。然而,pk_PersonID 的值是由两个列(P_Id 和 LastName)组成的。
当表已被创建时,如需在 "P_Id" 列创建 PRIMARY KEY 约束,请使用下面的 SQL:
MySQL / SQL Server / Oracle / MS Access:
如需命名 PRIMARY KEY 约束,并定义多个列的 PRIMARY KEY 约束,请使用下面的 SQL 语法:
MySQL / SQL Server / Oracle / MS Access:
注释:如果您使用 ALTER TABLE 语句添加主键,必须把主键列声明为不包含 NULL 值(在表首次创建时)。
如需撤销 PRIMARY KEY 约束,请使用下面的 SQL:
MySQL:
SQL Server / Oracle / MS Access:
SQL MID() 函数MID() 函数 MID() 函数用于从文本字段中提取字符。 SQL MID() 语法SELECT MID(column_na...
SQL NULL 值 NULL 值代表遗漏的未知数据。 默认地,表的列可以存放 NULL 值。 本章讲解 IS NULL 和 IS NOT NULL 操作符。SQL NUL...
SQL LCASE() 函数LCASE() 函数 LCASE() 函数把字段的值转换为小写。 SQL LCASE() 语法SELECT LCASE(column_name) FROM table...
SQL LEN() 函数LEN() 函数 LEN() 函数返回文本字段中值的长度。 SQL LEN() 语法SELECT LEN(column_name) FROM table_name;演...
SQL Server DATEDIFF() 函数 SQL Server Date 函数定义和用法 DATEDIFF() 函数返回两个日期之间的天数。 语法DATEDIFF(datepart,...
所有平台的 MySQL 下载地址为:MySQL 下载. 挑选你需要的 MySQL Community Server 版本及对应的平台。注意:安装过程我们需要通...
我们知道在MySQL中使用 SQL SELECT 命令来读取数据, 同时我们可以在 SELECT 语句中使用 WHERE 子句来获取指定的记录。W...