将SQL查询结果保存为新表的方法实例
originalmb 人气:0Mysql
通过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
总结
加载全部内容