
mysql拷贝表 *** 作我们会常常用到,下面就为您详细介绍几种mysql拷贝表的方式,希望对您学习mysql拷贝表方面能够有所帮助。
假如我们有以下这样一个表:
id username password
-----------------------------------
1 admin
2 sameer
3 stewart
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 shopadmin; CREATE TABLE newshopnewadmin LIKE shopadmin;
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 我们也可以在创建表的同时定义表中的字段信息。
1、在第一个数据库中对所有表进行一次复制
,(点中所要复制的表table_a,ctrl+c
,ctrl+v,
就会生成table_a_copy);
2、对第二个数据库的表(包含数据)生成sql文件newsql
3、在第一个数据库中运行newsql
4、然后逐个对含有copy表的进行 *** 作:(例如a表)
(1)update
table_a
as
a,table_a_copy
as
b
set
ac1=bc1,ac2=bc2,ac3=bc3
where
aid=bid
(2)insert
into
table_a(c1,c2,c3)
select
c1,c2,c3
from
table_a_copy
where
id
not
in
(select
id
from
table_a)
不知道是否可行,呵呵
MySQL 复制表
如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等。 如果仅仅使用CREATE TABLE … SELECT 命令,是无法实现的。
本章节将为大家介绍如何完整的复制MySQL数据表,步骤如下:
使用 SHOW CREATE TABLE 命令获取创建数据表(CREATE TABLE) 语句,该语句包含了原数据表的结构,索引等。
复制以下命令显示的SQL语句,修改数据表名,并执行SQL语句,通过以上命令 将完全的复制数据表结构。
如果你想复制表的内容,你就可以使用 INSERT INTO … SELECT 语句来实现。
-from 树懒学堂 - 一站式数据知识平台
以上就是关于mysql copy复制拷贝表数据及结构的几种方式全部的内容,包括:mysql copy复制拷贝表数据及结构的几种方式、sql语言,从一个数据库中,复制所有表,到另一个数据库中、mysql 数据库怎么复制一张表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)