SQL查询将结果保存为新表

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命令复制表结构和数据

  1. 在安装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  
  • 6
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值