mysql如何复制数据到同一张表?在利用数据库开发时,常常会将一些表之间的数据互相导入 。当然可以编写程序实现,但是 , 程序常常需要开发环境,不方便 。最方便是利用sql语言直接导入 。既方便而修改也简单 。以下就是导入的方法 。
1、 表结构相同的表,且在同一数据库(如,table1,table2)
Sql :
复制代码代码如下:
insert into table1 select*from table2 (完全复制)
insert into table1 selectdistinct*from table2(不复制重复纪录)
insert into table1 selecttop 5 *fromtable2 (前五条纪录)
2、不在同一数据库中(如 , db1 table1,db2 table2)
sql:
[code]
insert into db1.table1 select*from db2.table2 (完全复制)
insert into db1.table1 selectdistinct*from db2table2(不复制重复纪录)
insert into tdb1.able1 selecttop 5 *fromdb2table2 (前五条纪录)
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 production.mytbl;
INSERT mytbl_new SELECT * FROM production.mytbl;
第一个命令是创建新的数据表 mytbl_new ,并复制 mytbl 的数据表结构 。
第二个命令是讲数据表 mytbl 中的数据复制到新表 mytbl_new。
注:production.mytbl是指定要复制表的数据库名称为 production。它是可选的 。
假如没有production. ,MySQL数据库将会假设mytbl在当前操作的数据库 。
另外:在mysql数据库中复制数据为:
复制代码代码如下:
select * into desTable from sourceTable在mssql中支持,在mysql中不支持
insert into desTable select * from sourceTable
怎么才能完整复制MySQL数据库有两种办法 。
1、在B机器上装mysql 。
将A机器上的mysql/data下的你的数据库目录整个拷贝下来 。
将B机器上的mysql服务停止 。
找到B机器上的mysql/data目录,将你拷贝的目录粘贴进去,然后启动mysql服务就可以了 。
2、使用SQL语句备份和恢复
你可以使用SELECTINTOOUTFILE语句备份数据 , 并用LOADDATAINFILE语句恢复数据 。这种方法只能导出数据的内容 , 不包括表的结构 , 如果表的结构文件损坏,你必须要先恢复原来的表的结构 。
推荐阅读
- 金华直播卖工具,金华直播卖工具的公司
- asp.net日历怎么实现,aspnet日历控件
- chatgpt的离谱行为,ChatGPT和学术行为的关系
- linuxcad命令 linux中cal命令详解
- jquery点击目标元素外,jquery给元素增加点击事件
- excel文档怎么加背景,给excel加背景
- 机器人格斗综艺中国游戏,机器人 格斗游戏
- linux命令行显示图标 linux 显示命令
- chatgpt广告提案,广告提案内容怎么写