怎么快速复制千万级的Mysql数据库表

怎么快速复制千万级的Mysql数据库表,第1张

我google了一下大概有一下几个方法,

1.复制表结构及数据到新

CREATE TABLE 新表 SELECT * FROM 旧表

2.只复制表结构到新表

CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2

即:让WHERE条件不成立.

3.复制旧表的数据到新表(假设两个表结构一样)

INSERT INTO 新表 SELECT * FROM 旧表

4.复制旧表的数据到新表(假设两个表结构不一样)

INSERT INTO 新表(字段1,字段2,.......) SELECT 字段1,字段2,...... FROM 旧表

mysql拷贝表 *** 作我们会常常用到,下面就为您详细介绍几种mysql拷贝表的方式,希望对您学习mysql拷贝表方面能够有所帮助。

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

id username password

-----------------------------------

1admin*************

2sameer *************

3stewart *************

CREATE TABLE IF NOT EXISTS `admin` ( `id` int(6) unsigned NOT NULL auto_increment, `username` varchar(50) NOT NULL default '', `password` varchar(100) default NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4

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. 我们也可以在创建表的同时定义表中的字段信息。

看你用的什么数据库:\x0d\x0a Sql server :\x0d\x0a select * into table_new from table_old 复制结构和数据\x0d\x0a select * into table_new from table_old where 1=2只复制结构\x0d\x0a Oracle:\x0d\x0acreate table table_new as select * from table_old复制结构和数据\x0d\x0acreate table table_new as select * from table_old where 1=0只复制结构\x0d\x0a DB2:\x0d\x0a --复制表结构\x0d\x0a create table table_name_new as (select * from table_name_old) definition only\x0d\x0a\x0d\x0a--插入数据\x0d\x0ainsert into table_name_new (select * from table_name_old)\x0d\x0a MySql:\x0d\x0a ----- 复制表结构及数据到新表\x0d\x0a CREATE TABLE 新表 SELECT * FROM 旧表\x0d\x0a\x0d\x0a ----- 只复制表结构到新表\x0d\x0a CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6103642.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-14
下一篇 2023-03-14

发表评论

登录后才能评论

评论列表(0条)

保存