一、导出导入SQL Server里某个数据库 1在SQL Server企业管理器里选中要转移的数据库,按鼠标右键,选所有任务->备份数据库。 2备份 选数据库-完全, 目的 备份到 按添加按钮 文件名 在SQL Server服务器硬盘下输入一个自定义的备份数据库文件名(后缀一般是bak) 重写 选重写现有媒体 最后按确定按钮。 如果生成的备份数据库文件大于1M,要用压缩工具压缩后再到Internet上传输。 3通过FTP或者remote desktop或者pcanywhere等方法 把第二步生成的备份数据库文件或者其压缩后的文件传到目的SQL Server数据库,如果有压缩要解压。 4目的SQL Server数据库如果还没有此数据库,先创建一个新的数据库; 然后选中这个新创建的数据库,按鼠标右键,选所有任务->还原数据库 还原->从设备->选择设备->磁盘->添加(找到要导入的备份数据库文件名)->确定 还原备份集->数据库-完全 最后按确定按钮。完全的数据库导入成功了。 (如果在已经存在的SQL Server数据库上还原数据库可能遇到有还有其它人正在使用它而恢复 *** 做失败, 可以去看 ->管理->当前活动->锁/对象->找到数据库下锁的进程号->到查询分析器里用kill 进程号杀掉这些锁, 然后再做还原) 注意:如果在原有的目的SQL Server数据库上从备份文件(bak)还原数据库 会把已经存在的表、存储过程等数据库对象全部替换成最近这次导入的备份数据库里的内容。 如果一定要还原备份文件(bak)里部分数据,需要另外建一个新数据库, 其逻辑名称和数量同备份文件(bak)里数据库的逻辑名称和数量一致; 新数据库的物理文件名称取得一定要和备份文件(bak)里数据库的物理文件不一样才行。
二、导出导入SQL Server里某个表
1没有防火墙,同一个局域网里或不在同一个局域网里,但通过Internet可以互相访问 在SQL Server企业管理器里选中目的数据库 ,按鼠标右键,选所有任务->导入数据-> d出数据转换服务导入/导出向导窗口->下一步-> 选数据源-> 数据源(用于SQL Server的Microfost OLE DB提供程序)-> 服务器(可选择局域网内能访问到的所有SQL Server服务器,或者直接输入IP地址)-> 选择使用windows身份验证还是使用SQL Serve身份验证(输入数据库的用户名和密码)-> 数据库(可选择上面选中SQL Server服务器上所有权限范围内的数据库)->下一步-> 选择目的->目的(用于SQL Server的Microfost OLE DB提供程序)-> 服务器(默认为上一步里选中的导出服务器,也可以选其它局域网内能访问到的所有SQL Server服务器,或者直接输入IP地址)-> 目的数据库(可选择上面选中SQL Server服务器上所有权限范围内的数据库)->下一步-> 制定表复制或查询->选从源数据库复制表和视图(也可以选择用一条查询指定要传输的数据)->下一步-> 选择源表和视图->在要导入的表和视图前面选中源->目的出现同样的表名(可以手工修改成别的表名)-> 转换->列映射和转换里面可以修改源表和目的表之间字段的对应关系,修改目的表字段的类型和长度等, 并可以选择创建目的表,在目的表中增加行,除去并重新创建目的表,启用标志插入等选项->确定->下一步-> 保存、调度和复制包->时间->立即运行(如果要实现隔一段时间自动导出导入数据,选调度DTS包以便以后执行)-> 保存(可以不选)->[ 保存DTS包(如果以后还要转移这批相同的数据,可以把本次导出导入的内容和步骤保存起来, 存到SQL Server即可,保存的时候要输入DTS的包名及详细描述)->下一步-> ]->完成 正在执行包->图形界面显示创建表及插入记录的步骤和状态->完成
2经过防火墙,不在同一个局域网里 ①、导出表里的数据到文本文件: 在SQL Server企业管理器里选中目的数据库,按鼠标右键,选所有任务-> 导入数据->d出数据转换服务导入/导出向导窗口->下一步-> 选数据源-> 数据源(用于SQL Server的Microfost OLE DB提供程序)-> 服务器(可选择局域网内能访问到的所有SQL Server服务器)-> 选择使用windows身份验证还是使用SQL Serve身份验证(输入数据库的用户名和密码)-> 数据库(可选择上面选中SQL Server服务器上所有权限范围内的数据库)->下一步-> 选择目的->目的(文本文件)-> 文件名(在自己的电脑硬盘中生成一个自定义的文本文件) ->下一步-> 制定表复制或查询->选从源数据库复制表和视图(也可以选择用一条查询指定要传输的数据)->下一步-> 选择目的文件格式->源(选择要导出的表)->用默认的带分隔符->选第一行包含有列名称选项->下一步-> 保存、调度和复制包->时间->立即运行(如果要实现隔一段时间自动导出到文本文件,选调度DTS包以便以后执行)-> 保存(可以不选)-> [保存DTS包(保存的时候要输入DTS的包名及详细描述)->下一步->]->完成 正在执行包->图形界面显示表到文本文件的步骤和状态->完成 如果生成的文本文件大于1M,要用压缩工具压缩后再到Internet上传输。 ②、通过FTP或者remote desktop或者pcanywhere等方法把 第①步生成的文本文件或者其压缩后的文件传到目的SQL Server数据库,如果有压缩要解压。 ③、把文本文件导入目的SQL Server数据库 直接把文本文件导入目的SQL Server数据库里跟文本文件同名的新表名时,默认的会把所有字段类型都变成字符串。 所以我们要这样做: 在源SQL Server数据库上先生成创建表的sql语句 在SQL Server查询分析器里->选中源数据库里表名->按右键->在新窗口中编写对象脚本->创建-> 复制下新窗口内创建表名的sql语句 到目标SQL Server数据库上查询分析器里执行创建表名的sql语句,生成空表结构。 (如果已经存在这样的表名,修改建表的sql语句,在表名后面加上导入时间的年月信息,例如table_0113) 调用导入/导出工具->d出数据转换服务导入/导出向导窗口->下一步-> 选数据源-> 数据源(文本文件)-> 文件名(已传到目的SQL Server数据库下要导入的文本文件,后缀可以不是txt, 但是常规文本编辑器能打开的文件,文件类型选全部)->下一步-> 选择文件格式->用默认的带分隔符->选第一行包含有列名称选项->下一步-> 制定列分割符->逗号->下一步-> 选择目的->目的(用于SQL Server的Microfost OLE DB提供程序)-> 服务器(可选择目标局域网内能访问到的所有SQL Server服务器)-> 选择使用windows身份验证还是使用SQL Serve身份验证(输入数据库的用户名和密码)-> 数据库(可选择上面选中SQL Server服务器上所有权限范围内的数据库)->下一步-> 选择源表和视图->修改目的表名为刚才创建的表名->转换(在目的表中追加行) ->下一步-> 保存、调度和复制包-> 时间->立即运行(如果要实现隔一段时间自动把文本文件导入,选调度DTS包以便以后执行)-> 保存(可以不选)-> [保存DTS包(保存的时候要输入DTS的包名及详细描述)->下一步->]->完成 正在执行包->图形界面显示文本文件到表的步骤和状态->完成 如果要更改导入时间的年月信息的表名,例如table_0113到原来的表名, 在企业管理器里把原来的表名改成table_old_0113,table_0113改名成table。 这会对应用程序里频繁访问的表照成一定的中断。
注意:源表上的建的索引和主键约束不能用上面介绍的1和2方法转移过来,还需要手工来建索引和主键。 标志种子和not null的约束可以继承过来。 导入视图时会把源视图里所有的真实数据导入成一个新表,而不是视图。
数据的导出:
² 导出到Access:
在导出数据之前,如果要导出的是刚才导入的表,请确认由excel导入的数据表中多余的列要删除!!!
(1)打开SQL Server管理平台,右击服务器图标,从d出的快捷菜单中选择“所有任务→导出数据”选项,则会出现数据转换服务导入和导出向导对话框,它显示了导出向导所能完成的 *** 作。
(2)单击“下一步”按钮,就会出现选择导出数据的数据源对话框。这里在数据源栏中选择“Microsoft OLE DB Provider for SQL Server”选项,然后选择身份验证模式以及数据库的名称。
(3)单击“下一步”按钮,则会出现选择目的对话框。
(4)选定目标数据库后,单击“下一步”按钮,则出现指定表复制或查询对话框。
(5)单击“下一步”按钮,则出现选择源表和视图对话框。其中可以选定将源数据库中的哪些表格或视图复制到目标数据库中,只需单击表格名称左边的复选框,即可选定或者取消删除复制该表格或视图。单击“编辑…”按钮,就会出现列映射对话框。
(6)选定某个表格后,单击“预览”按钮,就会出现查看数据对话框,在该对话框中可以预览表格内的数据。单击“下一步”按钮,则会出现“保存并执行包”对话框。在该对话框中,可以设定立即执行还是保存包以备以后执行。
(7)单击“下一步”按钮,就会出现导出向导结束对话框。
方法一、insert和select结合使用
1、新建一个表,比如new-table,包含所要导出的字段的名称,比如a,b,c
2、使用insert into new-table (a,b,c) select a,b,c from old-table;
3、剩下的步骤就是导出这个新的表,然后进行文本的处理
方法二、使用MySQL的SELECT INTO OUTFILE 备份语句(推荐)
在下面的例子中,生成一个文件,各值用逗号隔开。这种格式可以被许多程序使用。
SELECT a,b,a+b INTO OUTFILE ‘/tmp/resulttext'FIELDS TERMINATED BY ‘,' OPTIONALLY ENCLOSED BY ‘"'
LINES TERMINATED BY ‘\n'
FROM test_table;
详细见select的使用方法
select subject into outlifile ‘/tmp/xiaoruizitext' fields terminated by ‘\t' optionally enclosed by ‘"' lines terminated by ‘\n' from pw_blog;方法三、使用mysqldump
很奇妙的是我发现了mysqldump其实有个很好用的参数“—w”
帮助文档上说明:
w|–where=dump only selected records; QUOTES mandatory!
那么是不是可以利用这个参数来导出某些值呢?比如我只要导出id大于2312387的某些数据:
mysqldump -u root -p bbscs6 BBSCS_USERINFO –where "ID>2312387" > BBSCS_USERINFO-parsql以上就是关于SQL数据库的导入与导出全部的内容,包括:SQL数据库的导入与导出、h2数据库中如何导出数据啊请知道朋友的不吝指教。、mysql数据库怎么导出指定数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)