在 MySQL 中创建与另一个表匹配的表?
mysqlmysqli database
要在 MySQL 中创建与另一个表匹配的表,请使用带有 LIKE 运算符的 CREATE TABLE 命令。语法如下 −
create table yourNewTableName like yourOldTableName;
上述语法创建了表的结构。
如果您想要所有记录,请使用 INSERT INTO…hellip;...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)