將資料從現有表複製到新的資料,在某些情況下非常有用,例如備份資料和複製生產資料進行測試。我們要想將資料從舊表複製到新錶,那我們需要使用的sql案例如下:
create table new_table
select col, col2, col3
from
existing_table;上面的sql大致的意思就是,首先使用create table語句中指定的名稱建立乙個新錶,完事嘞,新錶的結構由select語句的結果集定義,再來就是,mysql會自動將來自select語句的資料填充到新錶中。大致的意思和流程就是這樣了。就這個案例的sql來說,對於大多數情況是滿足的,但是,我們有時候需要的僅僅是部分滿足需要的資料,那麼,我們要將部分資料從現有表複製到新錶中,就需要在select語句中使用where子句來完成操作了。大家來看個案例:
create table new_table
select col1, col2, col3
from
existing_table
where
conditions;完事,大概就差不多了。但是我們在建立之前,檢查我們要建立的表是否已存在是非常重要的。 為此,我們可以在create table語句中使用if not exist子句。 所以我們來看將資料從現有表複製到新的表的完整命令:
create table if not exists new_table
select col1, col2, col3
from
existing_table
where
conditions;還有一點我需要說明的就是,上面的宣告只是複製表及其資料,它不會複製與表關聯的其他的諸如索引、主鍵約束、外來鍵約束觸發器等資料庫物件。如果需要複製這些東西的話,嘿嘿,也不是沒有辦法,請看如下sql:
create table if not exists new_table like existing_table;
insert new_table
select * from existing_table;上面是兩個sql,第乙個是建立和舊表一樣的乙個新錶,完事第二條sql就是來插入我們需要的資料的。完事大概的就記錄的差不多了。因為思路比較簡單哈,咱也沒有弄什麼例項,完事咱們再來看下跨庫複製表就算是完事了哈。先來看個sql的例子:
create table destination_db.new_table
like source_db.existing_table;
insert destination_db.new_table
select *
from source_db.existing_table;上面共有兩個sql,第乙個sql通過從源資料庫(source_db)複製現有表(existing_table)到目標資料庫(destination_db)中建立乙個新錶new_table。完事第二個sql將資料從源資料庫中的現有(existing_table)表複製到目標資料庫中的新錶。大致就是這麼回事了。嘿嘿,今天就到這裡了。
如果感覺不錯的話,請多多點贊支援哦。。。
mysql複製表資料 MySQL 複製表結構
介紹 有時候我們需要原封不動的複製一張表的表結構來生成一張新錶,mysql提供了兩種便捷的方法。例 create tabletb base idint not null primary key,namevarchar 10 keyix name name engine myisam charset ...
MySQL 複製表結構 資料
like方法複製生成乙個新錶,包括其備註 索引 主鍵外來鍵 儲存引擎等 create table ifnot exists like table2 like table2 select方法只複製字段屬性,原表的主鍵 索引 表備註 儲存引擎都沒有複製 create table ifnot exists...
oracle複製表結構和複製表資料語句分享
1.複製表結構及其資料 複製 如下 create table table name new a程式設計客棧s select from tawww.cppcns.comble name old 2.只複製表結構 複製 如下 create table table name new as select f...