mysql-10临时表复制表
Posted singleSpace
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
![](https://image.cha138.com/20210517/1ad10076cec14b04abc8e6f5b8de2844.jpg)
2.mysql复制表:复制mysql的数据表,包括表的结构、索引、默认值
复制表有3种情形:
- 1.完整复制
- 2.部分复制
- 3.额外字段+复制表
2.1完全复制
2.1.1方法1:获取表结构,创建数据表,插入数据
-- 1.获取数据表的完整结构
show create table csj_tbl \\G;
![](https://image.cha138.com/20210517/dc6b91eddb694b9a80fd15975b81e927.jpg)
-- 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;
![](https://image.cha138.com/20210517/56e39c59b14a4df7a0175e638cb4e7f9.jpg)
![](https://image.cha138.com/20210517/2c558bfd445e471886f33506dc759126.jpg)
以上是关于mysql-10临时表复制表的主要内容,如果未能解决你的问题,请参考以下文章