search
首页课程SQL Fun ClassNOT NULL 和 AUTO_INCREMENT

NOT NULL 和 AUTO_INCREMENT

目录列表

SQL 约束

SQL 约束用于规定表中的数据规则。

在 SQL 中,我们有如下约束:

  • NOT NULL - 指示某列不能存储 NULL 值。

  • UNIQUE - 保证某列的每行必须有唯一的值。

  • PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。

  • FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。CHECK - 保证列中的值符合指定的条件。

  • DEFAULT - 规定没有给列赋值时的默认值。


例如,以下表示 “name” 列不允许 NULL 值。

name varchar(100) NOT NULL

约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。

填写,让 varchar类型"username" 列不允许 NULL 值。

username (55)   

自动递增(AUTO INCREMENT)

AUTO INCREMENT 会在新记录插入表中时生成一个唯一的数字。

我们通常希望在每次插入新记录时,自动地创建主键字段的值。

我们可以在表中创建一个 AUTO INCREMENT 字段。

下面的 SQL 语句把 "UserID" 列定义为 auto-increment 主键字段:

UserID int NOT NULL AUTO_INCREMENT,
PRIMARY KEY (UserID)


填写空格,每次插入新行时,"id" 列自动递增 1。

id int NOT NULL

使用约束

下面的例子演示如何使用约束创建表。

CREATE TABLE users (
id int NOT NULL AUTO_INCREMENT,
username varchar(40) NOT NULL, 
password varchar(10) NOT NULL,
PRIMARY KEY(id)
);

上面的 SQL 强制 “id”,“username” 和 “password” 列不接受NULL值,还将 “id” 列定义为 auto-increment 主键字段。

“users” 表如下所示:

H$FY(~~LIR{DG~H9(MGTPNR.png

填写空格,创建一个`users`表,`id`不接受NULL值且为AUTO_INCREMENT

CREATE users( id int NULL , name varchar(30) NOT NULL, (id) );

1/6