Mysql
通过SQL命令复制表结构和数据
MySQL将sql查询的结果保存为一张新的表
# 从表old_table_name中查询数据,其中condition为条件,然后插入数据到一张新表中
create table new_table_name (select * from old_table_name where condition)
- new_table_name 要创建的表名称
- old_table_name 要被复制的表
- *代表所有的列
- condition 代表where后的条件
通过mysqldump命令复制表结构和数据
在安装mysql的机器上执行以下命令
[root@slave opt]# mysqldump -hlocalhost -P3306 -uroot -p --default-character-set=utf8 数据库名称 表名 > 数据库保存文件
- -h 连接的主机名
- -P mysql服务所在的端口,一般为3306
- -u 用户名
- -p
- –default-character-set 设置导出的编码格式
- 数据库名称 mysql中的数据库表名
- 表名 mysql中数据库的表名
- 数据库保存文件 要将数据保存在本地
例如:将数据库testdata的数据保存到服务器的/opt/db.sql文件中
[root@slave opt]# mysqldump -hlocalhost -P3306 -uroot -p --default-character-set=utf8 testdata> /opt/db.sql;
2.其中db.sql文件中的内容就是包含表testdata创建和内容的数据
SQLServer
通过SQL命令复制表结构和数据
-- 复制表结构和数据
SELECT * into [schema].[new_table_name] from [schema].[old_table_name]
- *代表所有的列
- schema sqlserver中的schema
- new_table_name 要创建的表名称
- old_table_name 要被复制的表
例如:将old_school_schema中的表Class_Info复制结构和数据到new_school_schema的表class_info_3中
SELECT * into [new_school_schema].[class_info_3] from [old_school_schema].[Class_Info]
通过SQL命令复制复制表结构
-- 复制表结构
SELECT * into [new_school_schema].[class_info_4] from [old_school_schema].[Class_Info] where 1=0
- *代表所有的列
- schema sqlserver中的schema
- new_table_name 要创建的表名称
- old_table_name 要被复制的表
- 1 = 0
例如:将old_school_schema中的表Class_Info复制结构和数据到new_school_schema的表class_info_4中
SELECT * into [new_school_schema].[class_info_3] from [old_school_schema].[Class_Info] where 1 =0
Oracle
通过SQL命令复制表结构和数据
-- 复制表结构和数据
create table SCHEMA1.new_table_name as select * from SCHEMA2.old_table_name
- SCHEMA1 ORACLE中的schema,复制到那个schema下
- SCHEMA2 ORACLE中的schema,被复制的那个schema
- new_table_name 要创建的表名称
- old_table_name 要被复制的表
- *代表所有的列
例如:将SCHEMA2中的表old_table_name复制结构和数据到SCHEMA1的表new_table_name中
create table SCHEMA1.new_table_name as select * from SCHEMA2.old_table_name
总结
到此这篇关于将SQL查询结果保存为新表的文章就介绍到这了,更多相关SQL查询结果保存新表内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!