MySQL複製表方法,你知道幾種?

2021-08-19 12:46:56 字數 3539 閱讀 2160

在本教程中,您將學習如何使用create tableselect語句在同一資料庫中或從乙個表複製到同乙個資料庫中另乙個表,這種方法可以用來備份資料庫中的表。

將資料從現有表複製到新錶是非常有用的,在某些情況下,例如:備份資料和複製生產資料用於開發和測試。

要將資料從表複製到新錶,請使用create table和select語句,如下所示:

create

table new_table

select col, col2, col3

from

existing_table;

首先,mysql使用create table語句中指定新建立表的名稱。 新錶的結構由select語句選擇的結果集定義。 然後,mysql將來自select語句的資料填充到新錶中。

要將部分資料從現有表複製到新錶,可在select語句中使用where子句指定條件限制,如下所示:

create

table new_table

select col1, col2, col3

from

existing_table

where

conditions;

在建立之前檢查要建立的表是否已經存在是非常重要的。 為此,在create table語句中使用if not exist子句。 將資料從現有表複製到新錶的完整命令如下:

create

table new_table

select col1, col2, col3

from

existing_table

where

conditions;

注意上面的語句只是複製表及其資料。 它不複製與表相關聯的其他資料庫物件,例如:索引,主鍵約束,外來鍵約束,觸發器等。

要複製乙個表以及表的所有從屬物件資料,請使用以下語句:

create

table

ifnot

exists new_table like existing_table;

insert new_table

select * from existing_table;

我們需要執行兩個語句。第乙個語句通過複製現有表來建立乙個新錶new_table。 第二個語句將現有表中的資料插入到new_table中。

以下語句將資料從office表複製到studymysql資料庫中的乙個名稱為offices_bk的新錶。

create

table

ifnot

exists studymysql.office_bk

select * from

studymysql.office;

我們可以通過查詢office_bk表中的資料來驗證複製的結果,如下所示:

select

*from

studymysql.office_bk;

執行上的查詢語句,結果如下所示 -

如果只想複製廣東省辦事處時,可以在select語句的where子句中指定條件,如下所示:

create

table

ifnot

exists office_gd

select *

from

studymysql.office

where

province = '廣東'

以下語句從office_gd表中查詢獲取所有資料。

select 

*from

office_gd;

執行上的查詢語句,結果如下所示 -

假設,我們不僅要複製資料,而且還要複製與office表關聯的所有資料庫物件,那麼可以使用以下語句:

create

table office_dup like office;

insert office_dup

select * from studymysql.office;

有時,可能想要將表複製到其他資料庫中。 在這種情況下,可使用以下語句:

create

table destination_db.new_table

like source_db.existing_table;

insert destination_db.new_table

select *

from source_db.existing_table;

第乙個語句通過從源資料庫(source_db)複製現有表(現有表)到目標資料庫(destination_db)中建立乙個新錶new_table。

第二個語句將資料從源資料庫(source_db)中的現有表複製到目標資料庫(destination_db)中的新錶。

讓我們看看下面的例子。

首先,我們使用以下語句建立乙個名稱為test的資料庫(已存在的話,就不用再建立了):

create

database

ifnot

exists test;

第二步,我們通過將studymysql資料庫中的office表複製其結構到test資料庫中並建立乙個office表。

create

table test.office like studymysql.office;

第三步,我們將資料從studymysql.office表複製到test.office表中。

insert test.office

select *

from studymysql.office;

讓我們查詢驗證test.office表中的資料。執行以下查詢語句並檢視結果 -

select

*from

test.office;

在本教程中,我們向您展示了在資料庫中如何複製表以及從乙個資料庫中複製表到另乙個資料庫中的表的一些技術和方法。在開發或測試應用程式時,複製線上實際執行的資料表到測試環境中,這些方法還是很實用的。

mysql複製表的幾種方式

mysql拷貝表操作我們會常常用到,下面就為您詳細介紹幾種mysql拷貝表的方式,希望對您學習mysql拷貝表方面能夠有所幫助。假如我們有以下這樣乙個表 id username password 1 admin 2 sameer 3 stewart create table if not exist...

mysql複製表的方法

1.使用like,只複製表結構到新錶 create table targettable like sourcetable 2.複製表結構及資料到新錶 insert into targettable select from sourcetable 3.可以拷貝乙個表中其中的一些字段 create ta...

mysql複製表資料 MySQL 複製表結構

介紹 有時候我們需要原封不動的複製一張表的表結構來生成一張新錶,mysql提供了兩種便捷的方法。例 create tabletb base idint not null primary key,namevarchar 10 keyix name name engine myisam charset ...