SQL 约束用于规定表中的数据规则。
在 SQL 中,我们有如下约束:
NOT NULL - 指示某列不能存储 NULL 值。
UNIQUE - 保证某列的每行必须有唯一的值。
PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。CHECK - 保证列中的值符合指定的条件。
DEFAULT - 规定没有给列赋值时的默认值。
例如,以下表示 “name” 列不允许 NULL 值。
1 |
|
约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。
username (55)
AUTO INCREMENT 会在新记录插入表中时生成一个唯一的数字。
我们通常希望在每次插入新记录时,自动地创建主键字段的值。
我们可以在表中创建一个 AUTO INCREMENT 字段。
下面的 SQL 语句把 "UserID" 列定义为 auto-increment 主键字段:
1 2 |
|
id int NOT NULL
下面的例子演示如何使用约束创建表。
1 2 3 4 5 6 |
|
上面的 SQL 强制 “id”,“username” 和 “password” 列不接受NULL值,还将 “id” 列定义为 auto-increment 主键字段。
“users” 表如下所示:
CREATE users( id int NULL , name varchar(30) NOT NULL, (id) );