复制表的列结构及记录
仅复制表的列结构
+----+------+----------+ | id | name | nickname | +----+------+----------+ | 1 | 王军 | 兵哥哥 | | 2 | 张美 | 美妹 | | 3 | 陈思 | 小思 | +----+------+----------+上面的表, 可以用下面的命令,建立:
mysql> create table disciple like student;
Query OK, 0 rows affected (3.548 sec)
mysql>
可以看到表 disciple 的列结构和 student 相同:
mysql> desc disciple;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int | NO | PRI | NULL | auto_increment |
| name | varchar(10) | YES | | NULL | |
| nickname | varchar(10) | YES | | NULL | |
+----------+-------------+------+-----+---------+----------------+
3 rows in set (1.565 sec)
mysql>
复制表的列结构及记录
mysql> create table pupil select * from student where name="张美";
Query OK, 1 row affected (2.258 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql>
可以看到表 pupil 的列结构和 student 不完全相同,主键和自动连续编号的列设置没有复制:
mysql> desc pupil;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int | NO | | 0 | |
| name | varchar(10) | YES | | NULL | |
| nickname | varchar(10) | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.024 sec)
mysql>
可以看到表 student 的 name 为张美的这条记录成功被复制到表 pupil 中:
mysql> select * from pupil;
+----+------+----------+
| id | name | nickname |
+----+------+----------+
| 2 | 张美 | 美妹 |
+----+------+----------+
1 row in set (0.112 sec)
mysql>