SQL 復(fù)制表

在本教程中,您將學(xué)習(xí)如何創(chuàng)建現(xiàn)有表的副本。

克隆或復(fù)制表

在某些情況下,您可能只想創(chuàng)建一個(gè)現(xiàn)有表的精確副本或克隆以測試或執(zhí)行某些操作而又不影響原始表。

下一節(jié)將通過幾個(gè)簡單的步驟說明如何執(zhí)行此操作。

步驟1:創(chuàng)建一個(gè)空表

首先使用以下語句根據(jù)原始表的定義創(chuàng)建一個(gè)空表。它還包括原始表中定義的列屬性和索引:

CREATE TABLE new_table LIKE original_table;

步驟2:將數(shù)據(jù)插入表

現(xiàn)在,使用以下語句用原始表中的數(shù)據(jù)填充空表:

INSERT INTO new_table SELECT * FROM original_table;

讓我們使用MySQL命令行工具克隆表。

考慮我們employees的數(shù)據(jù)庫中有一個(gè)包含以下記錄的表:

+--------+--------------+------------+--------+---------+
| emp_id | emp_name     | hire_date  | salary | dept_id |
+--------+--------------+------------+--------+---------+
|      1 | Ethan Hunt   | 2001-05-01 |   5000 |       4 |
|      2 | Tony Montana | 2002-07-15 |   6500 |       1 |
|      3 | Sarah Connor | 2005-10-18 |   8000 |       5 |
|      4 | Rick Deckard | 2007-01-03 |   7200 |       3 |
|      5 | Martin Blank | 2008-06-24 |   5600 |    NULL |
+--------+--------------+------------+--------+---------+

執(zhí)行以下SQL語句,它將基于現(xiàn)有employees數(shù)據(jù)庫表的定義創(chuàng)建一個(gè)空表employees_clone。

 employees_clone  employees;

現(xiàn)在,執(zhí)行另一個(gè)SQL語句,它將來自employee表的所有記錄插入employees_clone表。 執(zhí)行完此語句后,您將獲得employee_clone表,該表是employee表的精確副本或副本。

 employees_clone  *  employees;

簡單克隆

但是,如果只想從另一個(gè)表創(chuàng)建一個(gè)表而不考慮任何列屬性和索引,則可以使用簡單的一行語句:

CREATE TABLE new_table SELECT * FROM original_table;

以下命令創(chuàng)建employees表的簡單副本。

 employees_dummy  *  employees;

提示:使用CREATE TABLE?...?SELECT語法可以快速創(chuàng)建僅包含源表的結(jié)構(gòu)和數(shù)據(jù)的任何表的簡單副本。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清