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) #外键,建议取个约束名
      )