如何在 MySQL 中建立與另一個表匹配的表?


要在 MySQL 中建立一個與另一個表匹配的表,可以使用帶有 LIKE 運算子的 CREATE TABLE 命令。語法如下:

create table yourNewTableName like yourOldTableName;

以上語法建立了表的結構。

如果要複製所有記錄,則使用 INSERT INTO…...SELECT *FROM 命令。語法如下:

insert into yourNewTableName select *from yourOldTableName.

我有一箇舊表和一些資料:

mysql> create table WholeWordMatchDemo
   −> (
   −> Words varchar(200)
   −> );
Query OK, 0 rows affected (0.84 sec)

首先,我們將建立一個表結構。查詢如下:

mysql> create table NewTableDuplicate Like WholeWordMatchDemo;
Query OK, 0 rows affected (0.62 sec)

現在,您可以使用 show 命令檢查表結構是否已建立。查詢如下:

mysql> show create table NewTableDuplicate;

以下是輸出:

+-------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| Table             | Create Table                                                                                                                                |
+-------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| NewTableDuplicate | CREATE TABLE `newtableduplicate` (`Words` varchar(200) DEFAULT NULL) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci |
+-------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

將所有記錄複製到名為“NewTableDuplicate”的新表中。以下查詢可將所有資料複製到新表中:

mysql> insert into NewTableDuplicate select *from WholeWordMatchDemo;
Query OK, 3 rows affected (0.19 sec)
Records: 3 Duplicates: 0 Warnings: 0

現在,您可以使用 SELECT 語句檢查所有記錄是否都存在於新表中。查詢如下:

mysql> select *from NewTableDuplicate;

以下是輸出:

+----------------------+
| Words                |
+----------------------+
| My Name is John      |
| Carol                |
| My Name is Johnson   |
+----------------------+
3 rows in set (0.00 sec)

檢查舊錶中是否具有相同的記錄:

mysql> select *from WholeWordMatchDemo;

以下是輸出:

+----------------------+
| Words                |
+----------------------+
| My Name is John      |
| Carol                |
| My Name is Johnson   |
+----------------------+
3 rows in set (0.00 sec)

更新於:2019-07-30

140 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告