MySQL 如何复制表

一、复制表结构及数据到新表

将数据表 tf_notice 的结构和数据复制到新表 t_notice 中

mysql> create table t_notice select * from tf_notice;
Query OK, 1 row affected (0.01 sec)
Records: 1  Duplicates: 0  Warnings: 0

注意:该语句只是按 select 语句执行的结果新建表,并不会复制表的主键、索引等信息。说白了就是将 select 语句查询的结果存储为一张表,新表取名为 t_notice。

二、只复制表结构到新表

(一)使用关键字 like

mysql> create table t_notice like tf_notice;
Query OK, 0 rows affected (0.00 sec)

注意:

  1. 此种方法会将主键、索引等信息一起复制
  2. MySQL 4.0.25 之前的版本不支持此种方法

(二)使用 select 语句

mysql> create table t_notice select * from tf_notice where 1=2;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

注意:该语句只是按 select 语句执行的结果新建表,并不会复制表的主键、索引等信息。

三、真正完整复制表

mysql> create table t_notice like tf_notice;
mysql> insert into t_notice select * from tf_notice;

四、复制表,同时重新定义字段名(拷贝旧表中部分的字段)

mysql> create table t_notice select notice_id id,title bt,content nr,sex xb from tf_notice;
CREATE TABLE t_notice AS (SELECT notice_id AS id,title AS bt,content AS nr,sex AS xb FROM tf_notice);
mysql> CREATE TABLE t_notice AS (SELECT notice_id,title,content FROM tf_notice);

五、复制表,同时定义字段信息

create table t_notice
(
notice_id INTEGER not null auto_increment PRIMARY KEY
)
select * from tf_notice;

说明:字段 notice_id 必须存在于 select 语句的结果中才行。

六、复制旧表的数据到新表(整表复制数据)

mysql> insert into t_notice select * from tf_notice;

说明:

  1. 新表 t_notice 必须先创建
  2. 复制旧表整表的数据,新表的字段结构必须和旧表 tf_notice 相同,主要是指字段数量要相同,字段类型和字段长度只要存值不报错就行,字段名可以不同

七、复制旧表的数据到新表(按字段复制数据)

INSERT INTO t_notie(id,bt,nr) SELECT notice_id,title,content FROM tf_notice;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值