MySQL创建表的三大方式(简单明了)

1.table普通创建

mysql>use web; 			#选择要使用的数据库 
mysql>create table a1 (id int ,name char(30)); 	#创建 a1 表,并添加 id 和 name 字段以及类型
mysql>describe a1; 				#查看表结构(字段)  

 
  

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	#复制表的部分结构+部分数据 

 
  

3.带约束创建

创建表时的约束可分为列级约束和表级约束,在mysql中:
列级约束:支持主键、唯一、非空、默认
表级约束:支持主键、唯一、外键
一般的,外键用表级约束添加,其他的用列级约束添加级

3.1创建表时添加列级约束

   CREATE TABLE user(
      	id INT PRIMARY KEY, 		#主键
      	name VARCHAR(20) NOT NULL, 	#非空
      	no INT UNIQUE, 				#唯一
      	flag TINYINT DEFAULT 1, 	#默认
      ) 

 
  

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


 
  

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不支持,但可以通过插入数据时来手动插入一个起始值
 

 
  
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南柯一梦,笑谈浮生

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值