MySQL 复制表
如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等。 如果仅仅使用CREATE TABLE … SELECT 命令,是无法实现的。
本章节将为大家介绍如何完整的复制MySQL数据表,步骤如下:
使用 SHOW CREATE TABLE 命令获取创建数据表(CREATE TABLE) 语句,该语句包含了原数据表的结构,索引等。
复制以下命令显示的SQL语句,修改数据表名,并执行SQL语句,通过以上命令 将完全的复制数据表结构。
如果你想复制表的内容,你就可以使用 INSERT INTO … SELECT 语句来实现。
-from 树懒学堂 - 一站式数据知识平台
如果是SQL SERVER 2005及以上版本你可以先在目标数据库建立一个连接服务器(服务器对象->连接服务器)
然后就可以直接在本数据库调用想要复制的表了。有个into可以将表结构和数据直接复制过来,语法如下
SELECT INTO 新表的表名FROM 连接服务器名称数据库名称dbo需要复制的表名
1、使用软件Navicat就可迁移复制数据库,打开Navicat,右键点击左边空白的地方,点击New Connection下的MySQL,创建一个服务器的连接,下面将演示把本地的数据迁移到服务器:
2、在d出的创建新连接的窗口里,输入服务器的IP,数据库账号,密码等,然后就可以连接数据库了:
3、创建好后们打开本地的数据库,点击“Data Transfer”(数据传输),接着d出新的界面:
4、新窗口中在左边选择本地数据库的库,和需要转移的表,可以选择一个,或多个表:
5、然后在右边的目标里,选择服务器的连接,然后选择服务器上的数据库:
6、选择完成后,就开始进行数据转移了,数据量不是很大的,很快就会转移完成的。以上就是mysql中数据复制到另一个数据库的方法:
SQL语句把一个表的数据复制到另外一个表里面的步骤:
1、打开SQL,登录到一个数据库中,依次点击“工具”——“导出表”,在d出的界面中选择一个用户,列出这个用户下面的所有表。
2、在列出的表中选择其中一个,然后选择下面的“SQL插入”选项卡,在“输出文件”选择框中选择一个路径并填写文件名,然后点击“导出”按钮,则可导出一个关于该表结构和记录生成的一个SQL文件。
3、在生成的SQL文件中,有一个地方是给生成的表指定表空间tablespace,这里的表空间是源数据库中的表空间,我们要把它改为目标数据库中的表空间。
4、接下来进入到复制表的目标数据库中,依次点击“工具”——“导入表”,然后选择“SQL插入”选项卡,勾选上“使用命令窗口”,在下面的“导入文件”中选择刚才导出的SQL文件,并点击“导入”按钮,如果在“对话框”中命令正确执行,没有报错的话,说明表的结构和记录已经成功地复制到了目标数据库中。
什么系统?两个库是不是在同一台机?
linux下个人做法:
1同一台机
用mysqldump导出表数据(具体使用可以查一下)
mysqldump
-h
host
-p
port
-p
password
-u
user
database
--default-character-set=utf8
--add-drop-table
tablename
-r
/tmp/tablesql
再导入数据
mysqldump
-h
host
-p
port
-p
password
-u
user
database
tablename
</tmp/tablenamesql
或者在进入mysql后用source命令导入。
2不同的机,就需要先把数据文件导出,然后复制到另外一台机,再进行1的导入 *** 作。
windows下没试过,一般都直接用phpmyadmin来 *** 作了,界面 *** 作没什么说的。
1、使用plsql连接上数据库,展开Tables菜单项,下面出现的就是数据库表。
2、在数据库表tblTest上面点击鼠标右键,选择Query data,此项的目的是查询这张数据库表的数据。
3、点击完成Query data之后,右侧会出现一个SQL语句的窗口,默认有一条select from 表名的sql语句,下方还有一个列表,展示这张表中的已有数据。
4、然后写一条insert插入的SQL语句,写完之后,选中这条SQL,点击左上角的次轮状图标,然后,SQL语句下方会出现1 row inserted in xx seconds,表示语句执行成功。此时数据还没有真正写入数据库 insert插入sql格式:insert into 表名(字段1, 字段2, 字段n) values(值1, 值2, 值n)。
5、在Oracle数据库中,对数据的变更还需要点击Commit按钮,也就是左上角向下箭头的图标,如果不点击这个按钮,数据其实不会真正存入数据库。点击Commit按钮后,会d出一个Confirm窗口,此时点击Yes就将数据写入数据库,点击No则不提交到数据库。
12--------------新表 ↓ 要复制的源表↓Select Into newTable From sourceTable
这个语句会将sourceTable结构包括数据全部复制一份放到新表中newTable 是新表的名字,在执行前newTable 表不能已存在,如果只复制结构不要数据
12Select top 1 Into newTable From sourceTable --少要点只要一行truncate table newTable --清除掉数据
关于
select
into
语句:
SQL
SELECT
INTO
语句可用于创建表的备份复件。
SELECT
INTO
语句
SELECT
INTO
语句从一个表中选取数据,然后把数据插入另一个表中。
SELECT
INTO
语句常用于创建表的备份复件或者用于对记录进行存档。
SQL
SELECT
INTO
语法
您可以把所有的列插入新表:
SELECT
INTO
new_table_name
[IN
externaldatabase]
FROM
old_tablename
或者只把希望的列插入新表:
SELECT
column_name(s)
INTO
new_table_name
[IN
externaldatabase]
FROM
old_tablename
SQL
SELECT
INTO
实例
-
制作备份复件
下面的例子会制作
"Persons"
表的备份复件:
SELECT
INTO
Persons_backup
FROM
Persons
IN
子句可用于向另一个数据库中拷贝表:
SELECT
INTO
Persons
IN
'Backupmdb'
FROM
Persons
如果我们希望拷贝某些域,可以在
SELECT
语句后列出这些域:
SELECT
LastName,FirstName
INTO
Persons_backup
FROM
Persons
SQL
SELECT
INTO
实例
-
带有
WHERE
子句
我们也可以添加
WHERE
子句。
下面的例子通过从
"Persons"
表中提取居住在
"Beijing"
的人的信息,创建了一个带有两个列的名为
"Persons_backup"
的表:
SELECT
LastName,Firstname
INTO
Persons_backup
FROM
Persons
WHERE
City='Beijing'
SQL
SELECT
INTO
实例
-
被连接的表
从一个以上的表中选取数据也是可以做到的。
下面的例子会创建一个名为
"Persons_Order_Backup"
的新表,其中包含了从
Persons
和
Orders
两个表中取得的信息:
SELECT
PersonsLastName,OrdersOrderNo
INTO
Persons_Order_Backup
FROM
Persons
INNER
JOIN
Orders
ON
PersonsId_P=OrdersId_P
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 数据库怎么复制一张表、如何复制一个表到另一个数据库中、mysql把一个数据库中的数据复制到另一个数据库中的表 2个表结构相同等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)