网站首页 > 文章中心 > 其它

mysql怎么复制列数据

作者:小编 更新时间:2023-09-20 18:08:43 浏览量:183人看过

mysql如何复制数据到同一张表?

在利用数据库开发时,常常会将一些表之间的数据互相导入.当然可以编写程序实现,但是,程序常常需要开发环境,不方便.最方便是利用sql语言直接导入.既方便而修改也简单.以下就是导入的方法.

Sql :

复制代码代码如下:

sql:

[code]

a. 建一个新表[DN_UserTemp](在老表dn_user上增加一列)

[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 ,

[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 ,

) ON [PRIMARY]

c.将dn_usertemp 拷入dn_user

declare @i int

declare @j int

declare @Name fntype

set @i=1

select @j=count(*) from dn_usertemp

begin

print @Name

end

MySql数据库复制表数据

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的一个完整数据库全部复制到另外一个数据库?

如果从库上表 t 数据与主库不一致,导致复制错误,整个库的数据量很大,重做从库很慢,如何单独恢复这张表的数据?通常认为是不能修复单表数据的,因为涉及到各表状态不一致的问题.下面就列举备份单表恢复到从库会面临的问题以及解决办法:

场景 1

如果复制报错后,没有使用跳过错误、复制过滤等方法修复主从复制.主库数据一直在更新,从库数据停滞在报错状态(假设 GTID 为 aaaa:1-100).

修复步骤:

在主库上备份表 t (假设备份快照 GTID 为 aaaa:1-10000);

恢复到从库;

启动复制.

这里的问题是复制起始位点是 aaaa:101,从库上表 t 的数据状态是领先其他表的.aaaa:101-10000 这些事务中只要有修改表 t 数据的事务,就会导致复制报错 ,比如主键冲突、记录不存在(而 aaaa:101 这个之前复制报错的事务必定是修改表 t 的事务)

解决办法:启动复制时跳过 aaaa:101-10000 这些事务中修改表 t 的事务.

正确的修复步骤:

① 在主库上备份表 t (假设备份快照 GTID 为 aaaa:1-10000),恢复到从库;

CHANGE REPLICATION FILTER REPLICATE_WILD_IGNORE_TABLE = ('db_name.t');

START SLAVE UNTIL SQL_AFTER_GTIDS = 'aaaa:10000';

如果复制报错后,使用跳过错误、复制过滤等办法修复了主从复制.主、从库数据一直在更新.

在主库上备份表 t (假设备份快照 GTID为 aaaa:1-10000);

恢复表 t 到从库;

正确修复步骤:

对表 t 加读锁;

在主库上备份表 t;

停止从库复制,恢复表 t;

启动复制;

解锁表 t.

如果是大表,这里可以用可传输表空间方式备份、恢复表,减少锁表时间.

如何复制mysql数据库中的记录

注:不用考虑操作系统.?

---------------------------------------------------------------?

在dos命令提示符下使用mysqldump命令进行备份.?

如下:?

C:\Documents and Settings\Administratormysqldump yinshi c:\\backup.txt -uroot?

-u,-p参数后面跟的分别是用户名和密码.?

将你备份出来的文件我这里是backup.txt拷贝到另一台机上,再在dos命令提示符下用mysql命令,进行恢复,如下:?

or?

mysqlsource backup.txt;(这里backup.txt在放在data目录下)?

如果另一台机器上也安装了mysql,可以直接导入?

developer源服务器连接用户名?

有两种办法.?

①.、在B机器上装mysql.?

将A机器上的mysql/data下的你的数据库目录整个拷贝下来.?

将B机器上的mysql服务停止.?

找到B机器上的mysql/data目录,将你拷贝的目录粘贴进去,然后启动mysql服务就可以了.?

你可以使用SELECT INTO OUTFILE语句备份数据,并用LOAD DATA INFILE语句恢复数据.这种方法只能导出数据的内容,不包括表的结构,如果表的结构文件损坏,你必须要先恢复原来的表的结构.?

语法:?

SELECT * INTO {OUTFILE | DUMPFILE} 'file_name' FROM tbl_name?

LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE]?

INTO TABLE tbl_name?

SELECT ... INTO OUTFILE 'file_name'

mysql数据库如何将相同数据库中的一个表的数据复制到另一个表中?

你建表复制就可以了,例如CREATE TABLE aa AS SELECT * FROM tree;这是完全复制tree表的数据及表结构到aa表中.假如要复制某些字段的话,如:insert into 表名user(表中字段sal) select sal from emp;插入某一列sal到user表中,从emp表中获取sal的数据信息.最后提醒下,Oracle和MySql复制表建表 一样,可以自己建表结构,再复制数据;也可以复制部分列和部分数据,分开操作. 但要保证数据类型一致,插入指定列数,列数要相同,列的长度空间大就可以了.

以上就是土嘎嘎小编为大家整理的mysql怎么复制列数据相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章