MySQL创建表的三种方式
创建表的三种方式
通过create语句直接创建
语法:
create [TEMPORARY] table [IF NOT EXISTS] table_name
(
col_name column_defination [constrant] [NOT NULL | NULL] [DEFAULT {literal | (expr)}] [COMMENT 'string']
)[table_option] ;
常见table_option:
ENGINE [=] engine_name CHARACTER SET [=] charset_name
示例:
create table if not exists test1
(
id int auto_increment primary key comment '主键id',
`name` varchar(10) not null,
sex bit(1) not null,
address varchar(50) not null ,
phone char(11) not null ,
createTime timestamp default CURRENT_TIMESTAMP,
updateTime timestamp default current_timestamp on update current_timestamp
)engine = Innodb CHARACTER SET utf8mb4;
通过as关键字创建
语法:
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [AS] query_expression
示例:
create table test2 as select id,name,sex,createTime from test1;
效果展示:
总结:
通过这种方式创建的表格会把查询到的数据以及对查询表格字段的定义都会复制复制过来。
通过create...like创建
语法:
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
{ LIKE old_tbl_name | (LIKE old_tbl_name) }
示例:
create table test3 like test2;
总结:
通过这种方式创建的表格会把之前的表框架都复制过来,但不会复制数据。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!