使用MySQL LIKE運算子建立新表,該表具有舊錶的屬性且不包含重複項?
要使用 LIKE 運算子實現此目的,語法如下:
CREATE TABLE yourTableName2 LIKE yourTableName1;
為了理解語法,讓我們建立一個表並向其中插入一些記錄。以下是在建立表時使用的查詢:
mysql> create table Employee −> ( −> EmployeeId int −> , −> EmployeeName varchar(100) −> ); Query OK, 0 rows affected (0.54 sec)
使用 INSERT 命令將記錄插入表中。查詢如下:
mysql> insert into Employee values(1,'Carol'); Query OK, 1 row affected (0.18 sec) mysql> insert into Employee values(2,'John'); Query OK, 1 row affected (0.16 sec) mysql> insert into Employee values(3,'Johnson'); Query OK, 1 row affected (0.11 sec)
使用 SELECT 語句顯示所有記錄。顯示所有記錄的查詢如下:
mysql> select *from StudentTable;
以下是輸出結果:
+------+---------+ | Id | Name | +------+---------+ | 3 | Johnson | +------+---------+ 1 row in set (0.00 sec)
現在您可以實現我在開頭討論的上述語法。以下是在使用 LIKE 運算子建立表時使用的查詢。
mysql> create table StudentModifyTableDemo Like Employee; Query OK, 0 rows affected (0.50 sec)
您可以使用 DESC 命令檢查新表的定義。查詢如下:
mysql> desc StudentModifyTableDemo;
以下是輸出結果:
+--------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------+--------------+------+-----+---------+-------+ | EmployeeId | int(11) | YES | | NULL | | | EmployeeName | varchar(100) | YES | | NULL | | +--------------+--------------+------+-----+---------+-------+ 2 rows in set (0.12 sec)
現在您可以將 Employee 表的所有記錄插入到 StudentModifyTableDemo 表中。
查詢如下:
mysql> insert into StudentModifyTableDemo select *from Employee; Query OK, 3 rows affected (0.16 sec) Records: 3 Duplicates: 0 Warnings: 0
現在您可以檢查所有記錄是否都存在於第二個表中。查詢如下:
mysql> select *from StudentModifyTableDemo;
以下是輸出結果:
+------------+--------------+ | EmployeeId | EmployeeName | +------------+--------------+ | 1 | Carol | | 2 | John | | 3 | Johnson | +------------+--------------+ 3 rows in set (0.00 sec)
廣告