如何在 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)
廣告