- 如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等。 如果仅仅使用 CREATE TABLE ... SELECT 命令,是无法实现的
- 可以使用SHOW CREATE TABLE 语句对表名更改后进行创建,也可以组合以下语句分别复制到表中
语句 |
说明 |
CREATE TABLE <a_tbl_name> SELECT * FROM <b_tbl_name> CREATE TABLE <a_tbl_name> LIKE <b_tbl_name> |
复制表结构 |
INSERT INTO … SELECT * FROM <b_tbl_name> |
复制表数据 |
SELECT * INTO <a_tbl_name> FROM <b_tbl_name>
SELECT (column1,column12,...) INTO <a_tbl_name> FROM <b_tbl_name> |
复制表数据 |
示例
CREATE TABLE new_user SELECT * FROM user;
INSERT INTO new_user SELECT * FROM user;
Query OK, 0 rows affected (0.03 sec)
示例
CREATE TABLE new_user SELECT * FROM user;
SELECT * INTO new_user FROM user;
Query OK, 0 rows affected (0.03 sec)
示例
CREATE TABLE new_user LIKE user;
INSERT INTO new_user SELECT * FROM user;
Query OK, 0 rows affected (0.03 sec)
示例
CREATE TABLE new_user LIKE user;
SELECT * INTO new_user FROM user;
Query OK, 0 rows affected (0.03 sec)