mysql-10临时表、复制表

1.创建临时表

mysql临时表在我们需要保存一些临时数据时非常有用。
临时表只在当前连接可见,当关闭连接时,mysql会自动删除表并释放所有空间。
如果使用客户端创建临时表,只有在管不客户端程序时才会销毁临时表,当然也可以手动销毁。

create TEMPORARY table `SalesSummary`(`producnt name` varchar(50) null,
    `total_sales` DECIMAL(12,2) NOT NULL DEFAULT 0.00, 
    `avg_unit_price` DECIMAL(7,2) NOT NULL DEFAULT 0.00,
    `total_units_sold` INT UNSIGNED NOT NULL DEFAULT 0);
insert into SalesSummary values('cucumber',100.25,90,2);
select * from SalesSummary;
-- 删除临时表
drop table SalesSummary;

1418970-20181115132434508-2006548238.png
使用 show tables; 查看当前数据表时,临时表是无法看的

2.mysql复制表:复制mysql的数据表,包括表的结构、索引、默认值

复制表有3种情形:

  • 1.完整复制
  • 2.部分复制
  • 3.额外字段+复制表

2.1完全复制

2.1.1方法1:获取表结构,创建数据表,插入数据

-- 1.获取数据表的完整结构 
show create table csj_tbl \G;

1418970-20181115134730321-2084355620.png

-- 2.创建数据表
CREATE TABLE `clone_csj_tbl` (
  `csj_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `csj_title` varchar(100) NOT NULL,
  `csj_author` varchar(40) NOT NULL,
  `submission_date` date DEFAULT NULL,
  PRIMARY KEY (`csj_id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
-- 3.复制数据
insert into clone_csj_tbl select * from csj_tbl;
select * from clone_csj_tbl;

2.1.2 方法2:使用like语句依照原表创建,再插入数据

-- 根据模版,创建新表
create table clone_csj_tbl like csj_tbl;
-- 插入数据
insert into clone_csj_tbl select * from csj_tbl;

2.1.3 方法3:使用as语句直接创建表

create table clone_csj_tb1 as (select * from csj_tbl);

2.2复制表中的一部分字段

create table clone_csj_tbl1 as (select csj_id,csj_title from csj_tbl);
select * from clone_csj_tbl1;

1418970-20181115141935713-265422134.png
更多用法:

-- 将列重命名
create table clone_csj_tbl1  as (select csj_id, csj_title as title from csj_tbl);
-- 拷贝一部分数据
create table clone_csj_tbl1 as (select csj_id,csj_title from csj_tbl where csj_id <4);

2.3创建表时额外定义一些字段

create table `clone_csj_tbl` (`id` int(3) not null auto_increment PRIMARY key) as ( select * FROM
csj_tbl where csj_id <4);

1418970-20181115150430099-241998773.png

转载于:https://www.cnblogs.com/csj2018/p/9963432.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值