‘壹’ SQLServer中数据导入导出三种方法
当我们建立一个数据库时,橡辩并且想将分散在各处的不同类型的数据库分类汇总在这个新建的数据库中时,尤其是在进行数据检验、净化和转换时,将会面临很大的挑战。幸好SQL Server为我们提供了强大、丰富的数据导入导出功脊睁能,并且在导入导出的同时可以对数据进行灵活的处理。
在SQL Server中主要有三种方式导入导出数据:使用Transact-SQL对数据进行处理;调用命令行工具BCP处理数据;使用数据转换服务(DTS)对数据进行处理。这三种方法各有其特点,下面就它们的主要特点进行比较。
一、使用方式的比较
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。它们的功能基本上相同,不同之处主要有两点。
(1) 调用方式不同。
OPENDATASOURCE的参数有两个,分别是OLE DB Provider和连接字符串。使用OPENDATASOURCE只相当于引用数据库或者是服务(对于SQL Server、Oracle等数据库来说)。要想引用其中的数据表或视图,必须在OPENDATASOURCE(...)后进行引用。
在SQL Server中通过OPENDATASOURCE查询Access数据库abc.mdb中的table1表
以下是引用片段:
SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=abc.mdb;Persist Security
Info=False')...
table1
OPENROWSET相当于一个记录集,可以将直接当成一个表或视图使用。
在SQL Server中通过OPENROWSETE查询Access数据库abc.mdb中的table1表
以下是引用片段:
SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'abc.mdb';
'admin';'','SELECT * FROM table1')
‘贰’ sql数据库如何导出
神液饥1、打开SQLyog工具,新建一埋此个游返连接,填写连接名字,连接地址IP,用户名字,用户密码,端口号,点击连接。
2、点击数据库,右键菜单选择Backup,点击BackupDatabaseAsSQLDump。
3、选择导出库中的表、视图等,选择“只是导出表结构”或“只是导出数据结构”即可。
‘叁’ 怎样导出oracle整个数据库
1 将数据库迹兆芦TEST完全导出,用户姿带名system 密码manager 导出到D:\chu.dmp中x0dx0a exp system/manager@TEST file=d:\chu.dmp full=yx0dx0a2 将数据库中system用户与sys用户的表导出x0dx0a exp system/manager@TEST file=d:\chu.dmp owner=(system,sys)x0dx0a3 将数据库中的表table1 、table2导出x0dx0a exp system/manager@TEST file=d:\chu.dmp tables=(table1,table2) x0dx0a4 将数据库中的表table1中的字段filed1以"00"打头的猜洞数据导出x0dx0a exp system/manager@TEST file=d:\chu.dmp tables=(table1) query=\" where filed1 like ༼%'\"x0dx0a x0dx0a 上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。x0dx0a 不过在上面命令后面 加上 compress=y 就可以了
‘肆’ MySQL数据库怎么导出数据
方法一
cmd 到mysql bin目录下用 如下命令 mysqlmp --opt -h192.168.0.156 -uusername -ppassword --skip-lock-tables databasename>database.sql
把ip改成localhost就可以的
如果装了navicate那就更简单了 先连接上数据库,选中数据库 再选择转储sql 就好了
方法二
进入cmd (注意在os cmd中 而不是在mysql中)
===================
1.导出数据库(sql脚本)
mysqlmp -u 用户名 -p 数据库名 > 导出的文件名
mysqlmp -u root -p db_name > test_db.sql
2.mysql导出数据库一个表
mysqlmp -u 用户名 -p 数据库名 表名> 导出的文件名
mysqlmp -u wcnc -p test_db users> test_users.sql (结尾没有分号)
方法三
启动mysql服务
/etc/init.d/mysql start
导出整个数据库
mysqlmp dbname > c:mydb.sql -u root -p
导入数据库
source mydb.sql
mysql -u用户名 -p 数据库名 < 数据库名.sql
更详细的导入数据库教程
2.1. 导出sql脚本
在原数据库服务器上,可以用php教程myadmin工具,或者mysqlmp(mysqlmp命令位于mysql/bin/目录中)命令行,导出sql脚本。
2.1.1 用php(www.111cn.net)myadmin工具
导出选项中,选择导出"结构"和"数据",不要添加"drop database"和"drop table"选项。
选中"另存为文件"选项,如果数据比较多,可以选中"gzipped"选项。
将导出的sql文件保存下来。
2.1.2 用mysqlmp命令行
命令格式
mysqlmp -u用户名 -p 数据库名 > 数据库名.sql
范例:
mysqlmp -uroot -p abc > abc.sql
(导出数据库abc到abc.sql文件)
提示输入密码时,输入该数据库用户名的密码。
2.2. 创建空的数据库
通过主控界面/控制面板,创建一个数据库。假设数据库名为abc,数据库全权用户为abc_f。
2.3. 将sql脚本导入执行
同样是两种方法,一种用phpmyadmin(mysql数据库管理)工具,或者mysql命令行。
2.3.1 用phpmyadmin工具
从控制面板,选择创建的空数据库,点"管理",进入管理工具页面。
在"sql"菜单中,浏览选择刚才导出的sql文件,点击"执行"以上载并执行。
注意:phpmyadmin对上载的文件大小有限制,php本身对上载文件大小也有限制,如果原始sql文件
比较大,可以先用gzip对它进行压缩,对于sql文件这样的文本文件,可获得1:5或更高的压缩率。
gzip使用方法:
# gzip xxxxx.sql
得到
xxxxx.sql.gz文件。
2.3.2 用mysql命令行
命令格式
mysql -u用户名 -p 数据库名 < 数据库名.sql
范例:
mysql -uabc_f -p abc < abc.sql
(导入数据库abc从abc.sql文件)
提示输入密码时,输入该数据库用户名的密码。
‘伍’ 如何将数据库中的表导出
oracle数据库导出:exp用户名/密码@数据库芹罩启标识嫌如file=D:文件名.dmpgrants=nlog=D:文闷亏件名.txt
Sql数据库导出,通过操作界面,选中数据库,右键,导出,根据提示操作即可
‘陆’ 怎么导数据库(怎么导数据库报告)
--一、导出/导入(Export/Import)
----利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回Oracle数据库中去。
----1.简逗好单导出数据(Export)和导入数据(Import)
----Oracle支持三种类型的输出:
----(1)表方式(T方式),将指定表的数据导出。
----(2)用户方式(U方式),将指定用户的所有对象及数据导出。
----(3)全库方式(Full方式),将数据库中的所有对象导出。
----数据导出(Import)的过程是数据导入(Export)的逆过程,它们的数据流向不同。
----2.增量导出/导入
----增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须胡卖作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。
----增量导出包括三个类型:
----(1)“完全”增量导出(Complete)
----即备份整个数据库,比如:
----$expsystem/managerinctype=completefile=990702.dmp
----(2)“增量型”增量导出
----备份上一次备份后改变的数据。比如:
----$expsystem/managerinctype=incrementalfile=990702.dmp
----(3)“累计型”增量导出(Cumulative)
----累计型导出方式只是导出自上次“完全”导出之后数据库中变化了的信息。比如:
----$expsystem/managerinctype=cumulativefile=990702.dmp
----数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效地完成。
----比如数据库的备份任务可作如下安排:
----星期一:完全导出(A)
----星期二:增量导出(B)
----星期三:增量导出(C)
----星期四:增量导出(D)
----星期五:累计导出(E)
----星期六:增量导出(F)
----星期日:增量导出(G)山做铅
----如果在星期日,数据库遭到意外破坏,数据库管理员可按以下步骤来恢复数据库:
----第一步:用命令CREATEDATABASE重新生成数据库结构;
----第二步:创建一个足够大的附加回段。
----第三步:完全增量导入A:
----$impsystem./managerinctype=RECTOREFULL=YFILE=A
----第四步:累计增量导入E:
----$impsystem/managerinctype=RECTOREFULL=YFILE=E
----第五步:最近增量导入F:
----$impsystem/managerinctype=RESTOREFULL=YFILE=F
----二、冷备份
----冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份是将关键性文件拷贝到另外位置的一种说法。对于备份Oracle信息而言,冷备份是最快和最安全的方法。冷备份的优点是:
----1.是非常快速的备份方法(只需拷贝文件)
----2.容易归档(简单拷贝即可)
----3.容易恢复到某个时间点上(只需将文件再拷贝回去)
----4.能与归档方法相结合,作数据库“最新状态”的恢复。
----5.低度维护,高度安全。
----但冷备份也有如下不足:
----1.单独使用时,只能提供到“某一时间点上”的恢复。
----2.在实施备份的全过程中,数据库必须要作备份而不能作其它工作。也就是说,在冷备份过程中,数据库必须是关闭状态。
----3.若磁盘空间有限,只能拷贝到磁带等其它外部存储设备上,速度会很慢。
----4.不能按表或按用户恢复。
----如果可能的话(主要看效率),应将信息备份到磁盘上,然后启动数据库(使用户可以工作)并将所备份的信息拷贝到磁带上(拷贝的同时,数据库也可以工作)。冷备份中必须拷贝的文件包括:
----1.所有数据文件
----2.所有控制文件
----3.所有联机REDOLOG文件
----4.Init.ora文件(可选)。
----值得注意的是冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的
----下面是做冷备份的完整例子:
----(1)关闭数据库$sqldbalmode=y
----SQLDBA>connectinternal;
----SQLDBA>shutdownnormal;
----(2)用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数文件
----SQLDBA>!cp ----(3)重启Oracle数据库 ----$sqldbalmode=y ----SQLDBA>connectinternal; ----SQLDBA>startup; ----三、热备份 ----热备份是在数据库运行的情况下,采用archivelogmode方式备份数据的方法。所以,如果你有昨天夜里的一个冷备份而且又有今天的热备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。热备份要求数据库在Archivelog方式下操作,并需要大量的档案空间。一旦数据库运行在archivelog状态下,就可以做备份了。热备份的命令文件由三部分组成: ----1.数据文件一个表空间一个表空间地备份。 ----(1)设置表空间为备份状态 ----(2)备份表空间的数据文件 ----(3)恢复表空间为正常状态 ----2.备份归档log文件。 ----(1)临时停止归档进程 ----(2)log下那些在archiveredolog目标目录中的文件 ----(3)重新启动archive进程 ----(4)备份归档的redolog文件 ----3.用命令来备份拷贝文件 ----热备份的优点是: ----1.可在表空间或数据文件级备份,备份时间短。 ----2.备份时数据库仍可使用。 ----3.可达到秒级恢复(恢复到某一时间点上)。 ----4.可对几乎所有数据库实体作恢复。 ----5.恢复是快速的,在大多数情况下在数据库仍工作时恢复。 ----热备份的不足是: ----1.不能出错,否则后果严重。 ----2.若热备份不成功,所得结果不可用于时间点的恢复。 ----3.因难于维护,所以要特别仔细小心,不允许“以失败而告终”。 ‘柒’ 如何将数据库中的数据导出到excel
首先,我们需要打开电脑上的Navicat for MySQL快捷键。这样就可以查看数据库了。 ‘捌’ 如何将mysql中的数据库导出
mysql数据库分开导出 ‘玖’ 如何导出数据库文件
问题一:如何将数据库导出成sql文件 您好,很高兴为您解答。 ‘拾’ 如何将数据库中的数据导出到excel 在这里介绍把数据库中的数据导出到excel的方陆兄历法,希望本指南能帮到大家。 双击打开access数据库。进入到操作界面。 鼠标移到菜单栏,点击:外部数据早搜 下面即弹出与之相关的功能区。我们看“导出”这功能区。 在这里点击:尘枣excel 弹出导出excel电子表格的操作面板,如下图所示,点击:浏览;在打开的对话框中设置保存地址。在这里,我设置为保存在电脑桌面。 文件格式按默认的。再点确定。 点击确定后,弹出导出成功的对话框,我们把对话框关闭。 返回到电脑桌面,可以看到刚才保存的excel文件。
然后,我们点击root打开之后,单击core_db,在展开的选项中可以看到表。
我们点击“表”后可以看到数据库中的所有表,我们右击表弹出的选项中有一个“导出向导”
我们点击导出向导就会弹出导出的页面,第一个页面提示我们要使用哪一种导出格式。因为我们是导出到EXCEL表中,所以选择导出的格式为.xls,然后单击“下一步”
第二个小步骤中,我们需要勾选需要导出的表,并设置导出文件所在位置,然后点击下一步
我们可以选择需要导出的表中的哪些数据,默认的是全部栏位。选好之后,单击下一步。
点击下一步之后,我们再次点击下一步,然后点击弹出的窗口的右下角的“开始”按钮,就开始导出了。
导出之后,会继续提示我们已经导出成功,然后我们只需要点击关闭按钮,在相应的位置寻找excel表格即可。打开之后就会看到之前在数据库中存储的数据。
mysql是我们学习过程中经常要用到的数据库,与此同时,如何导出数据也是一个必须要学习的技能
工具/原料
mysql
Navicat For MySql
连接数据库
1双击打开Navicat,点击“连接”,在弹出框中输入连接名(连接名可随便定义,只要能识别清楚,例如conn),输入用户名,密码,点击“连接测试”,弹出“连接成功”,则表示用户名,密码输入正确,点击“确定”,创建连接
导出一个数据库中所有表的数据
双击连接名conn,双击要打开的数据库,在右边看到该数据库中的所有表
选中数据库,右键选中“转存Sql文件”,选择“结构与数据”,(结构与数据导出的是表结构和表中数据,结构导出的则只是表结构)。再弹出框中选择存储文件的地方,以及重命名,点击确定则可以导出数据,最后显示successfully,则导出成功
1、打开SQL Server Management Studio 2008 ,连接到数据库服务器,展开对象资源管理器到数据库节点
2、选择需要将数据导出到脚本的数据库,将包含所有的存储过程,表,视图,表里的数据等等。
3、右击选中的数据,按照以下路径选择生成脚本向导 :AdventureWorks -〉任务 -〉生成脚本
4、当点击生成脚本,弹出一个向导--生成数据库对象脚本。
5、下一步到达设置脚本编写选项,进入高级设置对话框,关键是要编写脚本的数据类型这里,默认是仅限架构,选择架构和数据或者是数据都可以吧数据导成脚本
执行完就可以看到结果了
如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】
希望我的回答对您有所帮助,望采纳!
~ O(∩_∩)O~
问题二:如何导出mysql数据库到sql文件 可以使用mysqlmp
如下几种操作:
1、导出整个数据库(包括数据)
mysqlmp -u username -p dbname > dbname.sql
2、导出数据库结构(只有建表语句,不含数据)
mysqlmp -u username -p -d dbname > dbname.sql
3、导出数据库中的某张数据表(包含数据)
mysqlmp -u username -p dbname tablename > tablename.sql
4、导出数据库中的某张数据表的表结构(只有建表语句,不含数据)
mysqlmp -u username -p -d dbname tablename > tablename.sql
还有负责的用法,可以查看mysqlmp的参数
问题三:Oracle数据库如何导出?? 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\chu.dmp中
exp [email protected] file=d:\chu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp [email protected] file=d:\chu.dmp owner=(system,sys)
3 将数据库中的表table1 、table2导出
触xp [email protected] file=d:\chu.dmp tables=(table1,table2)
4 将数据库中的表table1中的字段filed1以00打头的数据导出
exp [email protected] file=d:\chu.dmp tables=(table1) query=\ where filed1 like '00%'\
上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。
不过在上面命令后面 加上 press=y 就可以了
问题四:如何批量导出MYSQL数据库成.sql文件 DOS 执行,改成你的mysql路径和要导出的数据库名字
set path=C:\Program Files (x86)\MySQL\MySQL Server 5.0穿bin
mysqlmp -u root -ppassword --default-character-set=utf8 数据库名>数据库名.sql
这个真不知道,不过一般的MySQL里面好坦虚像没有这么多数据库,如果是几个或者十几个,那么就直接复制后面的一句,改数据库名字就可以了
问题五:.db后缀名的数据库文件如何打开并导出数据 比如Access数据库(扩展名为mdb)、xBase类数据库(扩展名为dbf),但有两种扩展名同为db的数据库,分属两个公司的产品,一个是老牌桌面数工库Paradox,这是Borland公司的产品,其广泛使用的时代是在Dos时期,但现在仍让丛燃有用Delphi、C++Builder等工具开发的产品使用这一类型的数据库,Microsoft的桌面数据引擎JET对其支持也比较完整;
另一个是Sybase的ASA数据库,全称叫做郑大Adaptive Server Anywhere,这个数据库以前被称作Sql Anywhere,这个数据库不仅可以用在桌面级,还可以用于服务器级,因为其支持存储过程、触发器等,一般在使用PowerBuilder开发的产品中很常见,因为毕竟是同一个公司的产品,这两个数据库都可以通过Ado来访问.
问题六:在phpmyadmin中怎么导出数据库 选择下方另存为文件,然后根据提示导出就可以了
问题七:怎样将从网站后台的数据库中导出数据? ''利用ASP生成EXECL文档
'=================================================
set conn=server.createobject(adodb.connection)
conn.open application(connstring)
set rs=server.createobject(Adodb.recordset)
sql=select * from xxloginteachers order by jsid desc
rs.open sql,conn
do whil订 not rs.eof
msg=msg & rs(jsid) & chr(9) & rs(jsxm) & vbcrlf
rs.movenext
loop
set f=server.createobject(scripting.filesystemobject)
set myfile=f.createtextfile(d:\xmllover.xls,true)
myfile.close
'已生成xmllover.xls!!!!
问题八:从oracle数据库里想导出单个表,怎么导出呀 exp [email protected] file=d:\c罚u.dmp tables=(table1) system是用户名,manager 是密码,myoracle 是数据库名。
问题九:.mdf数据库文件如何导入数据库 打开企业管理器->向下展开到&哗39;数据库'->右键点击'数据库'->选择'所有任务'->点击'附加数据库'->点击 带三个点的按钮(...)->找到要附加的数据库(要选择后缀名.mdf的)->点击确定->点击确定 附加成功
问题十:sql server2005数据库文件怎么导入 方法/步骤
1、点击左下角 开始按钮,找到sql server2005,打开它
2、右击数据库,选择新建数据库,如果已经有了数据库,则可以点击附加数据库,将本地的数据库文件附加到sql里面
3、附加完成后,我们点击数据库,展开,找到我们附加上的test数据库,再点开test数据库下的表文件夹,发现里面有已经创建好的表
4、右击,打开表,则可以增加表或修改的内容
5、右击修改表,怎可以增加或修改表的属性
6、也可通过右击表文件夹,选择新建表来新建一直表,或者点击左上角的新建查询通过命令来新建一张表