加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱资讯网 (https://www.52junxun.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql 快速复制_MySQL中快速复制数据表方法汇总

发布时间:2022-11-16 11:21:57 所属栏目:MySql教程 来源:
导读:  本文将着重介绍两个MySQL命令的组合,它将以原有数据表为基础,创建相同结构和数据的新数据表。  这可以帮助你在开发过程中快速的复制表格作为测试数据MySQL 复制表,而不必冒险直接操作正在运行 的数据表。 

  本文将着重介绍两个MySQL命令的组合,它将以原有数据表为基础,创建相同结构和数据的新数据表。

  这可以帮助你在开发过程中快速的复制表格作为测试数据MySQL 复制表,而不必冒险直接操作正在运行 的数据表。

  示例如下:

  将 production 数据库中的 mytbl 表快速复制为 mytbl_new,2个命令如下:

  CREATE TABLE mytbl_new LIKE production.mytbl;

  INSERT mytbl_new SELECT * FROM production.mytbl;

  第一个命令是创建新的数据表 mytbl_new ,并复制 mytbl 的数据表结构。

  第二个命令是讲数据表 mytbl 中的数据复制到新表 mytbl_new 。

  注:production.mytbl是指定要复制表的数据库名称为 production 。它是可选的。

  假如没有production. ,MySQL数据库将会假设mytbl在当前操作的数据库。

  其它方法:

  方案1:

  复制整个表

  CREATE TABLE new_table SELECT * FROM old_table;

  复制,不复制数据

  CREATE TABLE new_table SELECT * FROM old_table where 0;

  注意:本方案其实只是把select语句的结果建一个表。所以new_table这个表不会有主键、索引。

  方案2:

  假如我们有以下这样一个表:

  id username password

  1. 下面这个语句会拷贝表结构到新表newadmin中。 (不会拷贝表中的数据)

  CREATE TABLE newadmin LIKE admin

  2. 下面这个语句会拷贝数据到新表中。 注意:这个语句其实只是把select语句的结果建一个表。所以newadmin这个 表不会有主键,索引。

  CREATE TABLE newadmin AS

  (

  SELECT *

  FROM admin

  )

  3. 如果你要真正的复制一个表。可以用下面的语句。

  CREATE TABLE newadmin LIKE admin;

  INSERT INTO newadmin SELECT * FROM admin;

  4. 我们可以操作不同的数据库。

  CREATE TABLE newadmin LIKE shop.admin;

  CREATE TABLE newshop.newadmin LIKE shop.admin;

  5. 我们也可以拷贝一个表中其中的一些字段。

  CREATE TABLE newadmin AS

  (

  SELECT username, password FROM admin

  )

  6. 我们也可以讲新建的表的字段改名。

  CREATE TABLE newadmin AS

  (

  SELECT id, username AS uname, password AS pass FROM admin

  )

  7. 我们也可以拷贝一部分数据。

  CREATE TABLE newadmin AS

  (

  SELECT * FROM admin WHERE LEFT(username,1) = ‘s‘

  )

  8. 我们也可以在创建表的同时定义表中的字段信息。

  CREATE TABLE newadmin

  (

  id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY

  )

  AS

  (

  SELECT * FROM admin

  )

(编辑:我爱资讯网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!