(2-4)MySQL 自动编号及约束

目录

1 MySQL自动编号

2 MySQL 主键约束

2.1 AUTO_INCREMENT配合PRIMARY KEY使用

2.2 PRIMARY KEY单独使用

3 MySQL 唯一约束

4 MySQL 默认约束


1 MySQL自动编号

关键字:ANTO_INCREMENT

(1)自动编号,且必须与主键组合使用。

(2)默认情况下,起始值为1,每次增加量为1。

错误示例:

CREATE TABLE tb3(
    id SMALLINT UNSIGNED AUTO_INCREMENT,
    username VARCHAR(20) NOT NULL
    );

 这里需要主键约束的知识。

2 MySQL 主键约束

2.1 AUTO_INCREMENT配合PRIMARY KEY使用

关键字:PRIMARY KEY;

(1)主键约束,每张表只能存在一个主键。

(2)主键保证记录的唯一性。

(3)主键自动为NOT NULL。

注意:AUTO_INCREMENT 必须和主键一块使用,但是主键不一定要和AUTO_INCREMENT一起使用。

继续tb3中AUTO_INCREMENT的创建

CREATE TABLE tb3(
    id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(20) NOT NULL
  );

插入四条记录:

INSERT tb3(username) VALUES("Tom");
INSERT tb3(username) VALUES("John");
INSERT tb3(username) VALUES("Rose");
INSERT tb3(username) VALUES("Dilitar");

2.2 PRIMARY KEY单独使用

例子:创建一个不使用AUTO_INCREMENT主键约束的表

CREATE TABLE tb4(
    id SMALLINT UNSIGNED PRIMARY KEY,
    username VARCHAR(20) NOT NULL
  );

对主键赋值,但不允许赋相同的值。

INSERT tb4 VALUES(4,"John");
INSERT tb4 VALUES(22,"Tom");

3 MySQL 唯一约束

关键字:UNIQUE KEY

(1)唯一约束可以保证记录的唯一性。

(2)唯一约束的字段可以为空值(NULL)。

(3)每张数据表可以存在多个唯一约束。

创建UNIQUE KEY字段。

CREATE TABLE tb5(
    id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(20) NOT NULL UNIQUE KEY,
    age TINYINT UNSIGNED
  );

插入记录:

INSERT tb5(username,age) VALUES("Tom",22);

 若插入两条“Tom”则会报错。

4 MySQL 默认约束

关键字:DEFAULT

默认值:当插入记录时,如果没有明确为字段赋值,则自动赋予默认值。

例子:创建一个默认约束的数据表

CREATE TABLE tb6(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(20) NOT NULL UNIQUE KEY,
sex ENUM('1','2','3') DEFAULT '3'
);

 SHOW COLUMNS FROM tb6;

插入记录时,如果没有明确为字段赋值,则自动赋予默认值。 

INSERT tb6(username) VALUES("Tom");
SELECT * FROM tb6;

整理自:MySQL 初始默认约束 

猜你喜欢

转载自blog.csdn.net/qq_29406323/article/details/86534770
2-4
今日推荐