sql修改数据少条件把一列的原数据全给改了,怎么可以撤回

sql修改数据少条件把一列的原数据全给改了,怎么可以撤回,第1张

进行返向 *** 作处理。

具体步骤如下:找备份文件还原到另一个数据库名,然后导出数据来覆盖或更新,如果没有备份文件只有回忆一下修改的步骤或修改的内容,进行返向 *** 作来撤回。

SQL是具有数据 *** 纵和数据定义等多种功能的数据库语言,这种语言具有交互性特点,能为用户提供极大的便利,数据库管理系统应充分利用SQL语言提高计算机应用系统的工作质量与效率。

出来怎么办

mysql中数据导不出来怎么办_mysql挂掉了,无法导出数据,data文件如何恢复?

三十六陂

原创

关注

0点赞·1246人阅读

问题描述的不是非常清楚

1 mysql挂掉,还能启动吗?

2 死活不肯导出数据>> 是指用什么样的方式不能导出?报什么错?

一 假定mysql可以启动,逻辑导出时报错。 这个问题就相对简单,解决逻辑导出的问题即可。对于不同的逻辑导出错误,采取不同的方法解决。

二 假定mysql不可启动,那要看启时的时候报什么错误,对于不同的错误,采取不同的方法

三 最坏的打算,mysql不可启动,并且不能解决db启动的问题。

可以先尝试下面的方法:

copy所有datadir下的文件到目标机,启动数据库,如果可以正常启动,启动后执行mysql_upgrade即可

如果上面方法不行,那就只是数据文件还在,什么 *** 作也执行不了。

那就要放大招了。

对于myisam引擎的表:在目标机上初始化好数据库之后,copy相应的frm MYI MYD三个文件到相应的目录,设置好文件权限,就可以查看表里的数据,也就是说myisam表已经恢复了。

对于innodb引擎的表(独立表空间):

使用传输表空间的方式恢复数据:

1 先得到建表语句(建表语句一般都会有,比如业务存着的表结构,退一步如果没有建表语句,也可以进行恢复)

2 在目标机上建好表

3 alter table discard tablespace

4 56版本以下才需要(56以上版本不care tablespace_id) vim ibd

5 alter table import tablespace

就可以恢复innodb表里的数据。

innodb比myisam恢复起来麻烦一些,是因为innodb在ibdata中记录的有表结构。

数据完整性是一个DBA最基本的必须完成的,使用ucloud(UCloud – 专业云计算服务商)用户可以不必考虑数据的丢失

ucloud每天会对数据进行备份,如果备份没有成功,会告警给用户,并协助用户解决不能成功备份的问题。这样每天都能成功的备份,也就不用考虑异常恢复的场景了。

对于数据文件还在异常恢复db的场景相对简单。

对于文件已经不存在的,如drop table,drop database 也可以把数据恢复出来(没有备份也可以恢复),只是过程麻烦些。收费高些。

使用Ucloud(UCloud – 专业云计算服务商)的 mysql数据库,可以免费的享受数据在不同场景下的恢复。

曾免费帮助ucloud用户恢复在云主机上部署的mysql数据库。

导出数据库命令:

mysqldump -u root -p mydb2 > e:\mydbsql

把数据库mydb2导出到e盘的mydbsql

注意:在dos下进入mysql安装的bin目录下,但是不要登陆。

导入数据库命令:

mysqldump -u root -p mydb2 < e:\mydbsql

把数据库e盘的mydbsql导入到mydb2

注意:要先新建mydb2 然后使用导入语句

oracle 用户创建 数据库的导入导出imp/exp

可以在SQLPLUSEXE或者DOS(命令行)中执行执行环境:可以在SQLPLUSEXE或者DOS(命令行)中执行,

DOS中可以执行时由于 在oracle 8i 中 安装目录ora81BIN被设置为全局路径,

该目录下有EXPEXE与IMPEXE文件被用来执行导入导出。

创建用户

给用户增加导入数据权限的 *** 作

第一,启动sqlpuls

第二,以system/manager登陆

第三,create user 用户名 IDENTIFIED BY 密码 (如果已经创建过用户,这步可以省略)

第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,

DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,

DBA,CONNECT,RESOURCE,CREATE SESSION TO 用户名字

第五, 运行-cmd-进入dmp文件所在的目录,

imp userid=system/manager full=y file=dmp

或者 imp userid=system/manager full=y file=filenamedmp

执行示例:

F:WorkOracle_Databackup>imp userid=test/test full=y file=inner_notifydmp 17jquerycom

下面介绍的是导入导出的实例。

数据导出:

1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochudmp中

exp system/manager@TEST file=d:daochudmp full=y

exp fang/fang@ORCL file=d:oais20100401dmp full=y

exp oais/oais@ORCL file=d:oais_mjdmp full=y

2 将数据库中system用户与sys用户的表导出

exp system/manager@TEST file=d:daochudmp owner=(system,sys)

3 将数据库中的表inner_notify、notify_staff_relat导出

exp aichannel/aichannel@TESTDB2 file= d:datanewsmgntdmp tables=(inner_notify,notify_staff_relat)

exp fang/fang@ORCL file=d:oais20100401_essmenudmp tables=(essmenu)

4 将数据库中的表table1中的字段filed1以"00"打头的数据导出

exp system/manager@TEST file=d:daochudmp tables=(table1) query=" where filed1 like '00%'"

上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。

也可以在上面命令后面 加上 compress=y 来实现。 一起jquery,17jquery

数据的导入

1 将D:daochudmp 中的数据导入 TEST数据库中。

imp system/manager@TEST file=d:daochudmp

imp aichannel/aichannel@HUST full=y file=d:datanewsmgntdmp ignore=y

上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。

在后面加上 ignore=y 就可以了。

2 将d:daochudmp中的表table1 导入

imp system/manager@TEST file=d:daochudmp tables=(table1)

基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。 MSSQL的导入导出有三种方法,不可以在cmd模式下进行:1使用Transact-SQL进行数据导入导出 我们很容易看出,Transact-SQL方法就是通过SQL语句方式将相同或不同类型的数据库中的数据互相导入导出或者汇集在一处的方法。如果是在不同的SQL Server数据库之间进行数据导入导出,那将是非常容易做到的。一般可使用SELECT INTO FROM和INSERT INTO。使用 SELECT INTO FROM时INTO后跟的表必须存在,也就是说它的功能是在导数据之前先建立一个空表,然后再将源表中的数据导入到新建的空表中,这就相当于表的复制(并不会复制表的索引等信息)。而INSERT INTO的功能是将源数据插入到已经存在的表中,可以使用它进行数据合并,如果要更新已经存在的记录,可以使用UPDATE。 SELECT INTO table2 FROM table1 --table1和table2的表结构相同 INSERT INTO table2 SELECT FROM table3 --table2和table3的表结构相同 当在异构数据库之间的进行数据导入导出时,情况会变得复杂得多。首先要解决的是如何打开非SQL Server数据库的问题。 在SQL Server中提供了两个函数可以根据各种类型数据库的OLE DB Provider打开并 *** 作这些数据库,这两个函数是OPENDATASOURCE和OPENROWSET。它们的功能基本上相同,不同之处主要有两点。 2 使用命令行BCP导入导出数据 很多大型的系统不仅仅提供了友好的图形用户接口,同时也提供了命令行方式对系统进行控制。在SQL Server中除了可以使用SQL语句对数据进行 *** 作外,还可以使用一个命令行工具BCP对数据进行同样的 *** 作。BCP是基于DB-Library 客户端库的工具。它的功能十分强大,BCP能够以并行方式将数据从多个客户端大容量复制到单个表中,从而大大提高了装载效率。但在执行并行 *** 作时要注意的是只有使用基于 ODBC 或 SQL OLE DB 的 API 的应用程序才可以执行将数据并行装载到单个表中的 *** 作。 BCP可以将SQL Server中的数据导出到任何OLE DB所支持的数据库的,如下面的语句是将authors表导出到excel文件中。 bcp pubsdboauthors out c:\temp1xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P"password" BCP不仅能够通过命令行执行,同时也可以通过SQL执行,这需要一个系统存储过程xp_cmdshell来实现,如上面的命令可改写为如下形式。 EXEC masterxp_cmdshell 'bcp pubsdboauthors out c:\temp1xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P"password"' 3 使用数据转换服务(DTS)导入导出数据 DTS是SQL Server中导入导出数据的核心,它除有具有SQL和命令行工具BCP相应的功能外,还可以灵活地通过VBScript、JScript等脚本语言对数据进行检验、净化和转换。 SQL Server为DTS提供了图形用户接口,用户可以使用图形界面导入导出数据,并对数据进行相应的处理。同时,DTS还以com组件的形式提供编程接口,也就是说任何支持com组件的开发工具都可以利用com组件使用DTS所提供的功能。DTS在SQL Server中可以保存为不同的形式,可以是包的形式,也可以保存成Visual Basic源程序文件,这样只要在VB中编译便可以使用DTS com组件了。 DTS和其它数据导入导出方式最大的不同就是它可以在处理数据的过程中对每一行数据进行深度处理。以下是一段VBScript代码,这段代码在处DTS理每一条记录时执行,DTSDestination表示目标记录,DTSSource表示源记录,在处理逗婚姻状况地时,将源记录中的逗婚姻状况地中的0或1转换成目标记录中逗已婚地或逗未婚地。 Function Main() DTSDestination("姓名") = DTSSource("姓名") DTSDestination("年龄") = DTSSource("年龄") If DTSDestination("婚姻状况") = 1 Then DTSDestination("婚姻状况") = "已婚" Else DTSDestination("婚姻状况") = "未婚" End If Main = DTSTransformStat_OK End Function

以上就是关于sql修改数据少条件把一列的原数据全给改了,怎么可以撤回全部的内容,包括:sql修改数据少条件把一列的原数据全给改了,怎么可以撤回、mysql导出不去0、数据库的导入与导出等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9493207.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存