SQL语句把一个表的数据复制到另外一个表里面的步骤:
1、打开SQL,登录到一个数据库中,依次点击“工具”——“导出表”,在d出的界面中选择一个用户,列出这个用户下面的所有表。
2、在列出的表中选择其中一个,然后选择下面的“SQL插入”选项卡,在“输出文件”选择框中选择一个路径并填写文件名,然后点击“导出”按钮,则可导出一个关于该表结构和记录生成的一个SQL文件。
3、在生成的SQL文件中,有一个地方是给生成的表指定表空间tablespace,这里的表空间是源数据库中的表空间,我们要把它改为目标数据库中的表空间。
4、接下来进入到复制表的目标数据库中,依次点击“工具”——“导入表”,然后选择“SQL插入”选项卡,勾选上“使用命令窗口”,在下面的“导入文件”中选择刚才导出的SQL文件,并点击“导入”按钮,如果在“对话框”中命令正确执行,没有报错的话,说明表的结构和记录已经成功地复制到了目标数据库中。
方式一、如果写代码select
into
[目标数据库B]DBO表名
from
[源数据库A]DBO表名
方式二、如果不写代码,可以用导入的方式
复制表结构(如果目标数据库已经存在,此步跳过)
1、打开并连接Sql
Server,在源数据库DATA_A(源数据库名称)上右键,然后依次点击“编写表脚本为”→“CREATE到”→“新查询编辑器窗口”。
2、在第1步产生的编辑器中按”crtl+a“组合键全选内容,然后右键“复制“(或按"crtl+c"键)。
3、新建查询,然后右键“粘贴”(或ctrl+v);如图所示,将代码中DATA_A(源数据库名)改为DATA_B(目标数据库名)。接着右键单击”执行“执行代码。
4、在目标数据库的表结构中就可以看到被复制过来的表了。
表的数据内容复制
选中目标数据库DATA_B然后点击”任务“→”导入数据“。
进入”SQL
Server导入导出向导“,根据提示步骤 *** 作。
选择数据源(源数据库)。
选择目标(目标数据库)、指定表复制或查询。
选择源表和源视图:设置源表和目标表后,单击“编辑映射”按钮,在d出窗口中选中“启用标识插入”。(否则后面会出错)
一直点击“下一步”至最后完成 *** 作。我所用的笨办法就是企业管理器中,先把原有的表导入sql脚本,然后再通过sqlserver的查询分析器,连接到你的目的数据库,然后再把刚才导出的sql脚本复制到查询分析器里运行就可以了,运行成功后在查看一下目的数据库中是不是已经多了一个表,如果还是没有的话就多刷新一下就出来了!
在表上点击右建-选择-生成sql 脚本
直接点击确定-然后选择保存的路径和文件名就可以了
以上说的这些只是在另一个数据库生成了一个相同的表结构而已,是一个空表,没有数据,关于把另一个表中的数据复制过来的 *** 作就很简单了,如果是简单的几行记录的话就直接选中数据源表中的记录,然后粘贴进目的表就ok了!
如果要是复制的记录比较多的话就直接在目的表上点击右键选择“导入数据”,然后点击“下一步”,选择数据源(这个就不用详细说了,直接按提示 *** 作就可以了),选择目的数据表,选择完后一直点击下一步,最后点击确定,复制成功后会有提示成功,如果没有成功的话就要查看一下是什么原因,一般情况下都不会有问题的,因为两个表的表结构已经一模一样了,所以不会出错了!有很多软件直接点击就可以导出导入这个不说了,说一下命令方式
mysqldump命令导出数据
格式:mysqldump -h链接ip -P(大写)端口 -u用户名 -p密码 数据库名>d:XXsql(路劲)
示例:mysqldump -h127001 -P3306 -uroot -p123456 htgl >d:\htglsql;
#导出某个数据库的表--结构+数据+函数+存储过程
mysqldump -h127001 -uroot -p123456 --opt -R htgl >d:\htglsql
1导出结构不导出数据
mysqldump -d 数据库名 -uroot -p > xxxsql
2导出数据不导出结构
mysqldump -t 数据库名 -uroot -p > xxxsql
3导出数据和表结构
mysqldump 数据库名 -uroot -p > xxxsql
4导出特定表的结构
mysqldump -uroot -p -B数据库名 --table 表名 > xxxsql
#mysqldump [OPTIONS] database [tables]
数据库表间数据复制在利用数据库开发时,常常会将一些表之间的数据互相导入。当然可以编写程序实现,但是,程序常常需要开发环境,不方便。最方便是利用sql语言直接导入。既方便而修改也简单。以下就是导入的方法。
1。表结构相同的表,且在同一数据库(如,table1,table2)
Sql:insertintotable1selectfromtable2(完全复制)
insertintotable1selectdistinctfromtable2(不复制重复纪录)
insertintotable1selecttop5fromtable2(前五条纪录)
2。不在同一数据库中(如,db1table1,db2table2)
sql:insertintodb1table1selectfromdb2table2(完全复制)
insertintodb1table1selectdistinctfromdb2table2(不复制重复纪录)
insertintotdb1able1selecttop5fromdb2table2(前五条纪录)
3表结构不同的表或复制部分纪录(如,dn_user,dn_user2)
a建一个新表[DN_UserTemp](在老表dn_user上增加一列)
在利用数据库开发时,常常会将一些表之间的数据互相导入。当然可以编写程序实现,但是,程序常常需要开发环境,不方便。最方便是利用sql语言直接导入。既方便而修改也简单。以下就是导入的方法。1、 表结构相同的表,且在同一数据库(如,table1,table2)
Sql :
复制代码代码如下:
insert into table1 select from table2 (完全复制)
insert into table1 select distinct from table2(不复制重复纪录)
insert into table1 select top 5 from table2 (前五条纪录)
2、不在同一数据库中(如,db1 table1,db2 table2)
sql:
[code]
insert into db1table1 select from db2table2 (完全复制)
insert into db1table1 select distinct from db2table2(不复制重复纪录)
insert into tdb1able1 select top 5 from db2table2 (前五条纪录)
3、表结构不同的表或复制部分纪录(如,dn_user,dn_user2)
a 建一个新表[DN_UserTemp](在老表dn_user上增加一列)
复制代码代码如下:
CREATE TABLE [DN_UserTemp] ( [Num] [numeric](18, 0) IDENTITY (1, 1) NOT NULL)
[Id] [idtype] NOT NULL ,
[Name] [fntype] NOT NULL ,
[Descript] [dstype] NULL ,
[LogonNm] [idtype] NOT NULL ,
[Password] [idtype] NULL ,
[Gender] [char] (1) NULL ,
[Quited] [booltype] NOT NULL,
[OffDuty] [booltype] NOT NULL ,
[Stopped] [booltype] NOT NULL,
[OSBind] [booltype] NOT NULL,
[Domain] [idtype] NULL ,
[EMail] [fntype] NULL ,
[UnitId] [idtype] NULL ,
[BranchId] [idtype] NULL ,
[DutyId] [idtype] NULL ,
[LevelId] [idtype] NULL ,
[ClassId] [idtype] NULL ,
[TypeId] [idtype] NULL ,
[IP] [varchar] (15) COLLATE Chinese_PRC_CI_AS NULL ,
[ExpireDT] [datetime] NULL ,
[Sort] [int] NOT NULL ,
[AllowDel] [booltype] NOT NULL,
[UnitChief] [booltype] NOT NULL,
[BranchChief] [booltype] NOT NULL ,
[UnitDeputy] [booltype] NOT NULL ,
[BranchDeputy] [booltype] NOT NULL ,
[Num] [numeric](18, 0) IDENTITY (1, 1) NOT NULL
) ON [PRIMARY]
b 将dn_uer2的数据拷入dn_usertemp
sql:insert into dn_usertemp select from dn_user2
c将dn_usertemp 拷入dn_user
sql:
复制代码代码如下:
declare @i int
declare @j int
declare @Name fntype
set @i=1
select @j=count() from dn_usertemp
while @i<@j 1
begin
select @Name=Name from dn_usertemp where Num=@i
print @Name
insert into dn_user (Name) values (@Name) where Num=@i
select @i=@i 1
end
MySql数据库复制表数据
将 production 数据库中的 mytbl 表快速复制为 mytbl_new,2个命令如下:
复制代码代码如下:
CREATE TABLE mytbl_new LIKE productionmytbl;
INSERT mytbl_new SELECT FROM productionmytbl;
第一个命令是创建新的数据表 mytbl_new ,并复制 mytbl 的数据表结构。
第二个命令是讲数据表 mytbl 中的数据复制到新表 mytbl_new 。
注:productionmytbl是指定要复制表的数据库名称为 production 。它是可选的。
假如没有production ,MySQL数据库将会假设mytbl在当前 *** 作的数据库。
另外:在mysql数据库中复制数据为:
复制代码代码如下:
select into desTable from sourceTable在mssql中支持,在mysql中不支持
insert into desTable select from sourceTable
“将一个数据库中的一个表复制到另一个数据库中的表中”的过程如下。
具体步骤:
首先,打开并连接Sql Server,在源数据库Source_db(源数据库名称)上右键,然后依次点击“编写表脚本为”→“CREATE到”→“新查询编辑器窗口”。
在第1步产生的编辑器中按”crtl+a“组合键全选内容,然后右键“复制“(或按"crtl+c"键)。
新建查询,然后右键”粘贴“(或ctrl+v);如图所示,将代码中Source_db(源数据库名)改为target_db(目标数据库名)。接着右键单击”执行“执行代码。
在目标数据库的表结构中就可以看到被复制过来的表了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)