追萬軟件公司-專業從事企業軟件定制、系統軟件開發、用戶管理系統、進銷存系統等軟件開發

如何利用MySQL將一個舊表COPY至新表

將數據從現有表復制到新表是非常有用的,在某些情況下,例如:備份數據和復制生產數據用于開發和測試。
要將數據從表復制到新表,請使用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_tableWhere
    conditions;

在創建之前檢查要創建的表是否已經存在是非常重要的。 為此,在Create TABLE語句中使用IF NOT EXIST子句。 將數據從現有表復制到新表的完整命令如下:

Create TABLE new_table 
Select col1, col2, col3 
FROM
    existing_tableWhere
    conditions;

注意上面的語句只是復制表及其數據。 它不復制與表相關聯的其他數據庫對象,例如:索引,主鍵約束,外鍵約束,觸發器等。
要復制一個表以及表的所有從屬對象數據,請使用以下語句:

Create TABLE IF NOT EXISTS new_table LIKE existing_table;Insert new_tableSelect * FROM existing_table;

我們需要執行兩個語句。第一個語句通過復制現有表來創建一個新表new_table。 第二個語句將現有表中的數據插入到new_table中。

MySQL復制表示例

以下語句將數據從office表復制到studymysql數據庫中的一個名稱為offices_bk的新表。

Create TABLE IF NOT EXISTS studymysql.office_bk 
Select * FROM
    studymysql.office;

我們可以通過查詢office_bk表中的數據來驗證復制的結果,如下所示:

Select
    *FROM
    studymysql.office_bk;

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

如果只想復制廣東省辦事處時,可以在Select語句的Where子句中指定條件,如下所示:

Create TABLE IF NOT EXISTS office_gdSelect * 
FROM
    studymysql.officeWhere
    province = '廣東'

以下語句從office_gd表中查詢獲取所有數據。

Select 
    *FROM
    office_gd;

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

假設,我們不僅要復制數據,而且還要復制與office表關聯的所有數據庫對象,那么可以使用以下語句:

Create TABLE office_dup LIKE office;Insert office_dupSelect * FROM studymysql.office;

MySQL復制表到另一個數據庫

有時,可能想要將表復制到其他數據庫中。 在這種情況下,可使用以下語句:

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 IF NOT EXISTS test;

第二步,我們通過將studymysql數據庫中的office表復制其結構到test數據庫中并創建一個office表。

Create TABLE test.office LIKE studymysql.office;

第三步,我們將數據從studymysql.office表復制到test.office表中。

Insert test.officeSelect *FROM studymysql.office;

讓我們查詢驗證test.office表中的數據。執行以下查詢語句并查看結果 -

Select
    *FROM
    test.office;

在本教程中,我們向您展示了在數據庫中如何復制表以及從一個數據庫中復制表到另一個數據庫中的表的一些技術和方法。在開發或測試應用程序時,復制線上實際運行的數據表到測試環境中,這些方法還是很實用的

最新文章

熱門文章

欧美中国韩国日本多水385,国产精品亚亚洲欧关中字幕,αv天堂aⅴ影音先锋手机版,清纯唯美五月丁香俺也去,小说区图片区自拍视频在线,xfplay中文字幕在线资源,俺去啦官网无码免费视频,久久中文字幕乱码久久午夜,日韩AV噜噜噜在线观看