比如现在有一张表,我们要将该表复制一份,以备以后使用,那么如何使用mysql语句来实现呢?其实我们可以直接使用create ... select ... from语句来实现,具体实现方法请看下面实例。
我们先来创建一张Topic表,创建Topic表的SQL语句如下:
mysql> CREATE TABLE Topic(
-> TopicID SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name VARCHAR(50) NOT NULL,
-> InStock SMALLINT UNSIGNED NOT NULL,
-> OnOrder SMALLINT UNSIGNED NOT NULL,
-> Reserved SMALLINT UNSIGNED NOT NULL,
-> Department ENUM(\'Classical\', \'Popular\') NOT NULL,
-> Category VARCHAR(20) NOT NULL,
-> RowUpdate TIMESTAMP NOT NULL
-> );
向Topic表中插入数据:
mysql> INSERT INTO Topic (Name, InStock, OnOrder, Reserved, Department, Category) VALUES
-> (\'Java\', 10, 5, 3, \'Popular\', \'Rock\'),
-> (\' \', 10, 5, 3, \'Classical\', \'Opera\'),
-> (\'C Sharp\', 17, 4, 1, \'Popular\', \'Jazz\'),
-> (\'C\', 9, 4, 2, \'Classical\', \'Dance\'),
-> (\'C++\', 24, 2, 5, \'Classical\', \'General\'),
-> (\'Perl\', 16, 6, 8, \'Classical\', \'Vocal\'),
-> (\'Python\', 2, 25, 6, \'Popular\', \'Blues\'),
-> (\'Php\', 32, 3, 10, \'Popular\', \'Jazz\'),
-> (\'ASP.net\', 12, 15, 13, \'Popular\', \'Country\'),
-> (\'VB.net\', 5, 20, 10, \'Popular\', \'New Age\'),
-> (\'VC.net\', 24, 11, 14, \'Popular\', \'New Age\'),
-> (\'UML\', 42, 17, 17, \'Classical\', \'General\'),
-> (\'www.java2s.com\',25, 44, 28, \'Classical\', \'Dance\'),
-> (\'Oracle\', 32, 15, 12, \'Classical\', \'General\'),
-> (\'Pl/SQL\', 20, 10, 5, \'Classical\', \'Opera\'),
-> (\'Sql Server\', 23, 12, 8, \'Classical\', \'General\');
Query OK, 16 rows affected (0.00 sec)
Records: 16 Duplicates: 0 Warnings: 0
现在我们要将这张表复制一份,具体操作如下:
mysql> CREATE TABLE Topic2
-> (
-> TopicID SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name VARCHAR(50) NOT NULL,
-> InStock SMALLINT UNSIGNED NOT NULL,
-> OnOrder SMALLINT UNSIGNED NOT NULL,
-> Reserved SMALLINT UNSIGNED NOT NULL,
-> Department ENUM(\'Classical\', \'Popular\') NOT NULL,
-> Category VARCHAR(20) NOT NULL,
-> RowUpdate TIMESTAMP NOT NULL
-> )
-> SELECT *
-> FROM Topic
这样表Topic2和Topic表不仅拥有相同的表结构,表数据也是一样的了。
例外,如果我们只需要复制表结构,不需要复制数据,也可以使用create like来实现:
create table a like users; 继续阅读与本文标签相同的文章
上一篇 :
mysql使用default来设置字段的默认值
-
华为高管彭博:正与美国公司就授权5G平台展开初期谈判
2026-05-14栏目: 教程
-
微信曝光新功能,超好用,再也不用担心被刷屏
2026-05-14栏目: 教程
-
Verizon为美国多座大型体育场馆提供了5G网络覆盖
2026-05-14栏目: 教程
-
别人加薪你加班,偷偷告诉你 6 个Word小技巧,比加薪都管用!
2026-05-14栏目: 教程
-
华为轮值董事长郭平:虚拟技术创造现实价值
2026-05-14栏目: 教程
