首頁 > 軟體

將SQL查詢結果儲存為新表的方法範例

2022-12-17 14:01:34

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查詢結果儲存新表內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com