Mysql创建表的四种场景与讲解

目录

前言

正文

场景一:完全新建

场景二:复制

场景三:创建表并插入数据

场景四:创建一个临时表


前言

Mysql的create语句有四种用法,分别对应创建表的四种场景。

正文

场景一:完全新建

完全新建一张表。

CREATE TABLE `log` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id,无意义',
  `tenant_id` bigint(20) unsigned NOT NULL COMMENT '租户id',
  primary key (id),
  key (tenant_id)
) ENGINE=InnoDB AUTO_INCREMENT=518 DEFAULT CHARSET=utf8mb4 COMMENT='沽清日志表';

场景二:复制

基于一个已有的表,复制这个表的结构、列属性,来创建一个空表。

CREATE TABLE `log_back` LIKE `log`;

场景三:创建表并插入数据

创建出一个新表,并将从另外一张表里查询出来的数据插入到新表当中。

CREATE TABLE `log_copy_data` 
SELECT * FROM `log`;
CREATE table `log_copy_data2`
(i int, name bigint)
SELECT
id as i,
tenant_id as name
FROM `log`;

注意,此处并不会复制log表的结构和列属性,不会复制log表的主键id的属性、索引。

场景四:创建一个临时表

创建一个临时表,并在该临时表上操作数据,服务器会在会话结束时,删除掉这个表。

CREATE TEMPORARY TABLE 'temp_log` (id int, name varchar);
CREATE TEMPORARY TABLE `temp_log_back` LIKE `log`;
CRAETE TEMPORARY TABLE `temp_log_copy2` 
(i int, name bigint)
SELECT id as i, tenant_id as name
FROM `log`;

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值