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

标签:INT,创建,CREATE,MySQL,约束,table,TABLE,id,三大

来源: https://blog.csdn.net/weixin_45537987/article/details/106898254

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值