1.table普通创建
mysql>use web; #选择要使用的数据库
mysql>create table a1 (id int ,name char(30)); #创建 a1 表,并添加 id 和 name 字段以及类型
mysql>describe a1; #查看表结构(字段)
- 1
- 2
- 3
2.复制创建
CREATE TABLE new_table LIKE old_table; #复制表的所有结构
CREATE TABLE new_table SELECT list FROM old_table WHERE 0; #复制表的部分结构
CREATE TABLE new_table SELECT * FROM old_table; #复制表的所有结构+所有数据
CREATE TABLE new_table SELECT field_list FROM old_table; #复制表的部分结构+所有数据
CREATE TABLE new_table SELECT field_list FROM old_table WHERE condition #复制表的部分结构+部分数据
- 1
- 2
- 3
- 4
- 5
3.带约束创建
创建表时的约束可分为列级约束和表级约束,在mysql中:
列级约束:支持主键、唯一、非空、默认
表级约束:支持主键、唯一、外键
一般的,外键用表级约束添加,其他的用列级约束添加级
3.1创建表时添加列级约束
CREATE TABLE user(
id INT PRIMARY KEY, #主键
name VARCHAR(20) NOT NULL, #非空
no INT UNIQUE, #唯一
flag TINYINT DEFAULT 1, #默认
)
- 1
- 2
- 3
- 4
- 5
- 6
3.2创建表时添加表级约束
CREATE TABLE user(
id INT,
no INT ,
book_id INT,
#以下添加表级约束
CONSTRAINT pk PRIMARY KEY(id), #主键
UNIQUE(no), #唯一,可以省略CONSTRAINT(其他约束也可一省略)
CONSTRAINT fk_user_book FOREIGN KEY(book_id) REFERENCES book(id) #外键,建议取个约束名
)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
3.4带标识列创建
同约束的设置方法,在创建表时,在后面添加
AUTO_INCREMENT
CREATE TABLE user(
id INT UNIQUE AUTO_INCREMENT,
name VARCHAR(20)
)
SET auto_increment_increment=3 #设置步长
SET auto_increment_offset=3 #设置起始值,mysql不支持,但可以通过插入数据时来手动插入一个起始值
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
1.table普通创建
mysql>use web; #选择要使用的数据库
mysql>create table a1 (id int ,name char(30)); #创建 a1 表,并添加 id 和 name 字段以及类型
mysql>describe a1; #查看表结构(字段)
- 1
- 2
- 3
2.复制创建
CREATE TABLE new_table LIKE old_table; #复制表的所有结构
CREATE TABLE new_table SELECT list FROM old_table WHERE 0; #复制表的部分结构
CREATE TABLE new_table SELECT * FROM old_table; #复制表的所有结构+所有数据
CREATE TABLE new_table SELECT field_list FROM old_table; #复制表的部分结构+所有数据
CREATE TABLE new_table SELECT field_list FROM old_table WHERE condition #复制表的部分结构+部分数据
- 1
- 2
- 3
- 4
- 5
3.带约束创建
创建表时的约束可分为列级约束和表级约束,在mysql中:
列级约束:支持主键、唯一、非空、默认
表级约束:支持主键、唯一、外键
一般的,外键用表级约束添加,其他的用列级约束添加级
3.1创建表时添加列级约束
CREATE TABLE user(
id INT PRIMARY KEY, #主键
name VARCHAR(20) NOT NULL, #非空
no INT UNIQUE, #唯一
flag TINYINT DEFAULT 1, #默认
)
- 1
- 2
- 3
- 4
- 5
- 6
3.2创建表时添加表级约束
CREATE TABLE user(
id INT,
no INT ,
book_id INT,
#以下添加表级约束
CONSTRAINT pk PRIMARY KEY(id), #主键
UNIQUE(no), #唯一,可以省略CONSTRAINT(其他约束也可一省略)
CONSTRAINT fk_user_book FOREIGN KEY(book_id) REFERENCES book(id) #外键,建议取个约束名
)