数据库导入导出命令

合集下载

MySQL中的批量数据导入和导出方法

MySQL中的批量数据导入和导出方法

MySQL中的批量数据导入和导出方法在开发和管理数据库时,数据的导入和导出是一个非常常见的任务。

特别是在需要将大量数据从一个数据库传输到另一个数据库时,使用批量导入和导出方法可以提高效率和节省时间。

本文将介绍MySQL中的一些常用的批量数据导入和导出方法。

一、数据导出1. 使用SELECT INTO OUTFILE语句在MySQL中,可以使用SELECT INTO OUTFILE语句将查询结果导出为文本文件。

该语句将查询结果写入指定路径的文件中,可以选择导出的字段和行。

具体语法如下所示:```SELECT column1, column2, ...INTO OUTFILE 'filepath'FROM tableWHERE condition;```其中,column1、column2等代表要导出的字段,'filepath'指定保存导出文件的路径,table代表要导出数据的表,condition为可选参数,用于筛选导出数据的条件。

2. 使用mysqldump命令mysqldump是一个用于备份和还原MySQL数据库的命令行工具,同时也可以用于导出数据。

它可以导出整个数据库、指定的表或查询结果,并将数据保存为文本文件。

具体用法如下:```mysqldump -u username -p password -h hostname database table > filepath```其中,username为数据库用户名,password为密码,hostname为数据库服务器地址,database为要导出数据的数据库名,table为要导出数据的表名,filepath为保存导出文件的路径。

二、数据导入1. 使用LOAD DATA INFILE语句LOAD DATA INFILE语句用于将文本文件中的数据导入到MySQL中的表中。

该语句指定了要导入的文件路径、字段的分隔符等参数。

使用MySQL进行数据导入与导出

使用MySQL进行数据导入与导出

使用MySQL进行数据导入与导出导入和导出数据是在数据库管理中非常常见和重要的任务。

MySQL作为一种常见的关系型数据库管理系统,提供了丰富的工具和功能来帮助用户进行数据导入和导出操作。

本文将介绍MySQL中的一些常用方法和技巧,以便更有效地进行数据导入和导出。

一、导入数据1. 使用LOAD DATA INFILE语句LOAD DATA INFILE语句是MySQL中最常用的导入数据方法之一。

它允许将一个文本文件中的数据加载到数据库表中。

该语句的基本语法如下:LOAD DATA INFILE 'file_path'INTO TABLE table_name[OPTIONS];其中,'file_path'是要导入的文本文件的路径,table_name是要导入数据的表名,OPTIONS是一些可选的导入选项,如字段分隔符、行分隔符等。

下面是一个示例:LOAD DATA INFILE '/data/data.txt'INTO TABLE studentFIELDS TERMINATED BY ','LINES TERMINATED BY '\n';该示例将/data/data.txt文件中的数据导入到名为student的表中,字段之间使用逗号分隔,行之间使用换行符分隔。

2. 使用MySQL WorkbenchMySQL Workbench是MySQL官方提供的一款强大的数据库管理工具。

它提供了图形化的界面,使用户可以直观地进行数据导入和导出操作。

在MySQL Workbench中,可以使用“Server”菜单中的“Data Import”功能来导入数据。

首先,选择要导入数据的表和文件路径,然后选择适当的导入选项,最后点击“Start Import”按钮即可完成导入操作。

3. 使用mysqldump命令mysqldump命令是MySQL中用于备份和还原数据库的工具,但也可以用于数据导入。

MySQL中的数据批量导入与导出方法

MySQL中的数据批量导入与导出方法

MySQL中的数据批量导入与导出方法MySQL是一种常用的关系型数据库管理系统,广泛应用于各种Web应用和数据分析中。

在实际开发中,经常需要将大量数据批量导入或导出MySQL数据库。

本文将介绍MySQL中的数据批量导入与导出方法,旨在帮助开发者高效地处理大规模数据。

一、数据批量导入对于数据批量导入,MySQL提供了多种方式,适用于不同的场景。

以下将介绍常用的几种方法。

1. 使用LOAD DATA INFILE语句LOAD DATA INFILE语句是MySQL提供的一种快速导入数据的方式。

它可以从文本文件、CSV文件或其他格式的文件中读取数据,并将其直接导入到MySQL表中。

使用LOAD DATA INFILE需要注意以下几点:- 文本文件格式:导入的文本文件需要符合MySQL的规定格式,可以使用逗号、分号或制表符等符号分隔字段。

- 文件路径:需要指定正确的文件路径,可以是相对路径或绝对路径。

- 权限设置:MySQL用户需要有FILE权限,才能使用LOAD DATA INFILE语句。

2. 使用mysqldump命令导入mysqldump命令是MySQL自带的一个数据导出工具,除了导出数据库,它也可以用来导入数据。

具体操作步骤如下:- 使用mysqldump导出数据:首先需要使用mysqldump命令导出待导入的数据,生成一个.sql文件。

- 修改.sql文件:打开导出的.sql文件,将需要导入的数据插入至文件末尾,保存。

- 使用命令导入数据:使用mysql命令执行.sql文件,将数据导入到MySQL数据库。

3. 使用MySQL Workbench导入MySQL Workbench是MySQL官方提供的GUI工具,可以方便地管理MySQL 数据库。

它提供了一个导入向导,可以将各种文件格式的数据导入到MySQL数据库。

具体操作步骤如下:- 打开MySQL Workbench,选择对应的数据库连接。

oracle数据库导入导出语句

oracle数据库导入导出语句

oracle数据库导⼊导出语句
oracle的exp/imp命令⽤于实现对数据库的导出/导⼊操作;exp命令⽤于把数据从远程数据库服务器导到本地,⽣成.dmp⽂件;imp命令⽤于把本地的数据库.dmp⽂件从本地导⼊到远程的oracle数据库中
1 将数据库test完全导出.⽤户名system/manager导出到D:daochu.dmp 代码如下:
exp file=d:daochu.dmp full=y
2.将数据库中system⽤户与sys⽤户的表导出代码如下:
exp file=d:daochu.dmp owner=(system,sys)
3.将数据库中的表table1 table2 导出代码如下:
exp file:= d:daochu.dmp tables=(table1,table2)
4.将数据库中的表table1中的字段filed1以"00"打头的数据导出代码如下;
exp file:=d:daochu.dmp tables=(table1) query="where filed1 like '00%'"
5.将D:daochu.dmp中的数据导⼊到test数据库中代码如下
imp file:=d:doachu.dmp (这样写的肯定会报错,因为数据库中已经存在表了,对该表就不能导⼊)
所以要在后⾯加上ignore=y就可以了
imp file:=d:daochu.dmp ignore=y 就可以了
6.将d:daochu.dmp中的表table1导⼊到test的数据库中
imp file:=d:daochu.dmp tables=(table1);。

oracle数据库导入导出命令

oracle数据库导入导出命令

Oracle数据导入导出imp/exp功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。

大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。

Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle客户端,并建立了连接(通过Net Configuration Assistant添加正确的服务命名,其实你可以想成是客户端与服务器端修了条路,然后数据就可以被拉过来了)这样你可以把数据导出到本地,虽然可能服务器离你很远。

你同样可以把dmp文件从本地导入到远处的数据库服务器中。

利用这个功能你可以构建俩个相同的数据库,一个用来测试,一个用来正式使用。

执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于在oracle 8i 中安装目录\$ora10g\BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。

oracle用java编写,我想SQLPLUS.EXE、EXP.EXE、IMP.EXE这俩个文件是被包装后的类文件。

SQLPLUS.EXE调用EXP.EXE、IMP.EXE他们所包裹的类,完成导入导出功能。

下面介绍的是导入导出的实例,向导入导出看实例基本上就可以完成,因为导入导出很简单。

数据导出:1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp 中exp system/manager@TEST file=d:\daochu.dmp full=y2 将数据库中system用户与sys用户的表导出exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)3 将数据库中的表table1 、table2导出exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2) 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。

oracle数据的导入导出(两种方法三种方式)

oracle数据的导入导出(两种方法三种方式)

oracle数据的导⼊导出(两种⽅法三种⽅式)⼤概了解数据库中数据的导⼊导出。

在oracle中,导⼊导出数据的⽅法有两种,⼀种是使⽤cmd命令⾏的形式导⼊导出数据,另⼀种是使⽤PL/SQL⼯具导⼊导出数据。

1,使⽤cmd命令⾏导⼊导出数据 1.1整库导出 整库导出:exp 管理员账号/密码 full=y;//参数full表⽰整库导出。

导出后会在当前⽬录下⽣成⼀个EXPDAT.DMP的⽂件,此⽂件为备份⽂件。

如果想导出数据到指定位置,并且取个名字,需要添加file参数。

例如:exp system/123456 file= C:\person.dmp full=y。

1.2整库导⼊ 整库导⼊:imp 管理员账号/密码 full=y file=C:\person.dmp。

1.3使⽤cmd命令按⽤户导出导⼊ 1.3.1 按⽤户导出:exp 管理员账号/密码 owner=⽤户名 file=C:\person.dmp。

1.3.2 按⽤户导⼊:imp 管理员账号/密码 file=C:\person.dmp fromuser=⽤户名。

1.4使⽤cmd命令按表导出导⼊ 1.4.1按表导出:exp 管理员账号/密码 file=person.dmp tables=t_person,t_student。

1.4.2按表导⼊:imp 管理员账号/密码 file =person.dmp tables=t_person,t_student。

2.)使⽤PL/SQL 开发⼯具导出导⼊数据 pl/sql⼯具包含三种⽅式导出oracle表结构和表数据,分别为:oracle export,SQL inserts,pl/sql developer。

它们的含义如下: 第⼀种oracle export:导出的是.dmp格式的⽂件,.dmp⽂件是⼆进制⽂件,可以跨平台,包含权限等。

第⼆种SQL inserts :导出的是.sql格式的⽂件,可以⽤⽂本编辑器查看,通⽤性⽐较好,效率不如第⼀种,适合⼩数据量的导⼊导出。

MySQL中的批量数据导入导出方法和工具

MySQL中的批量数据导入导出方法和工具

MySQL中的批量数据导入导出方法和工具MySQL是一个常用的关系型数据库管理系统,用于存储和管理大量的数据。

在日常工作中,我们经常需要将数据从一个数据库导入到另一个数据库,或者将数据导出到其他格式的文件中。

本文将介绍MySQL中的批量数据导入导出方法和工具。

一、批量数据导入方法1. LOAD DATA INFILE语句LOAD DATA INFILE语句是MySQL中常用的批量数据导入方法之一。

它可以将一个文本文件中的数据批量导入到数据库表中。

使用LOAD DATA INFILE语句导入数据的步骤如下:首先,创建一个文本文件,文件中每一行表示一条记录,记录中的列值使用制表符或逗号进行分隔。

然后,在MySQL数据库中创建一个目标表,用于存储导入的数据。

目标表的结构需要和文本文件中的数据保持一致。

接下来,在MySQL的命令行界面或数据库管理工具中执行LOAD DATA INFILE语句,指定导入的文本文件和目标表。

示例代码如下:LOAD DATA INFILE 'data.txt' INTO TABLE table_nameFIELDS TERMINATED BY '\t' (column1, column2, column3);其中,'data.txt'为导入的文本文件的路径,table_name为目标表的名称,\t表示制表符作为字段的分隔符,column1、column2和column3分别是目标表的列。

2. 使用MySQL的命令行工具除了LOAD DATA INFILE语句,MySQL的命令行工具也提供了另一种批量导入数据的方法。

使用该方法的步骤如下:首先,创建一个文本文件,文件中每一行表示一条记录,记录中的列值使用制表符或逗号进行分隔。

然后,使用命令行工具登录MySQL数据库。

接下来,执行以下命令导入数据:mysql> USE database_name; -- 切换到目标数据库mysql> SET AUTOCOMMIT=0; -- 关闭自动提交mysql> SET UNIQUE_CHECKS=0; -- 关闭唯一性检查mysql> SET FOREIGN_KEY_CHECKS=0; -- 关闭外键检查mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table_name-> FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n'; -- 指定导入的文件和分隔符mysql> COMMIT; -- 提交导入的数据mysql> SET UNIQUE_CHECKS=1; -- 打开唯一性检查mysql> SET FOREIGN_KEY_CHECKS=1; -- 打开外键检查其中,database_name为目标数据库的名称,table_name为目标表的名称,data.txt为导入的文本文件的路径,\t表示制表符作为字段的分隔符,\n表示换行符作为记录的分隔符。

在MySQL中使用外部工具进行数据导入和导出

在MySQL中使用外部工具进行数据导入和导出

在MySQL中使用外部工具进行数据导入和导出MySQL是一种广泛使用的关系数据库管理系统,被用于许多应用程序和网站的数据存储。

然而,有时我们需要将数据从MySQL导出或导入到其他系统或工具中。

为了实现这一目的,我们可以使用一些外部工具来执行数据导入和导出操作。

本文将介绍一些常用的工具,并讨论它们的使用方法和注意事项。

一、导出数据1. mysqldumpmysqldump是MySQL自带的命令行工具,用于将数据库中的数据表导出为SQL文件。

我们可以使用以下命令导出整个数据库:```mysqldump -u username -p database_name > dump.sql```这将导出一个名为dump.sql的SQL文件,其中包含了所有的数据表和数据。

2. SELECT INTO OUTFILE除了使用mysqldump,MySQL还提供了SELECT INTO OUTFILE语句来直接导出查询结果为文本文件。

以下是一个例子:```sqlSELECT * INTO OUTFILE '/tmp/output.txt'FIELDS TERMINATED BY ','OPTIONALLY ENCLOSED BY '"'FROM table_name;```这将把查询结果导出到/tmp/output.txt文件中,字段以逗号分隔,并使用双引号括起来。

3. 导出至Excel或CSV文件如果我们需要导出数据至Excel或CSV文件,可以使用一些外部工具。

例如,我们可以使用MySQL的ODBC驱动和Microsoft Excel来导出数据。

首先,我们需要安装MySQL ODBC驱动,并在Excel中创建一个数据源来连接到MySQL数据库。

然后,我们可以使用Excel中的"导入外部数据"功能来选择数据表和字段,并将其导出为Excel或CSV文件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MySQL:1.导出整个数据库mysqldump -u 用户名-p 数据库名>导出的文件名mysqldump -u wcnc -p smgp_apps_wcnc>wcnc.sql2.导出一个表mysqldump -u 用户名-p 数据库名表名>导出文件的路径和名称mysqldump -u wcnc -p smgp_apps_wcnc users>wcnc_users.sql3.导出一个数据库结构mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc>d:wcnc_db.sql-d 没有数据--add-drop-table 在每个create语句之前增加一个drop table4.导入数据库常用source 命令进入mysql数据库控制台,如mysql -u root -pmysql>use 数据库然后使用source命令,后面参数为脚本文件(如这里用到的.sql)mysql>source d:wcnc_db.sql(注:如果写成source d:\wcnc_db.sql,就会报语法错误)Oracle:Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。

exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。

利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。

执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于在oracle 8i 中安装目录ora81BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。

oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包装后的类文件。

SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。

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

数据导出:1 将数据库GAKJ完全导出,用户名system 密码GAKJ_2280导出到D:DA TA.dmp中exp system/GAKJ_2280@GAKJ file=d:DATA.dmp full=y2 将数据库中system用户与sys用户的表导出exp system/GAKJ_2280@GAKJ file=d:DATA.dmp owner=(system,sys)3 将数据库中的表USER USER_CONFIG导出expMICROGPSDBA/MICROGPSDBA@GAKJ file= d:\TABLE.dmp tables=(USER USER_CONFIG)4 将数据库中的表USER中的字段filed1以"00"打头的数据导出exp system/GAKJ_2280@GAKJ file=d:\DATA.dmp tables=(USER) query=" where filed1 like '00%'"数据的导入1 将D:DATA.dmp 中的数据导入GAKJ数据库中。

imp system//GAKJ_2280@GAKJ file=d:\DATA.dmp2 将d:TABLE.dmp中的表USER导入imp system//GAKJ_2280@GAKJ file=d:\DATA.dmp tables=(USER)基本上上面的导入导出够用了。

不少情况要先是将表彻底删除,然后导入。

注意:操作者要有足够的权限,权限不够它会提示。

数据库时可以连上的。

可以用tnsping TEST 来获得数据库TEST能否连上。

附录一:给用户增加导入数据权限的操作第一,启动sql*puls第二,以system/manager登陆第三,create user 用户名IDENTIFIED BY 密码(如果已经创建过用户,这步可以省略)第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREA TE ANY VIEW ,DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,DBA,CONNECT,RESOURCE,CREATE SESSION TO 用户名字第五, 运行-cmd-进入dmp文件所在的目录,impuserid=system/manager full=y file=*.dmp或者imp userid=system/manager full=y file=filename.dmp执行示例:F:WorkOracle_Databackup>imp userid=test/test full=y file=inner_notify.dmp屏幕显示Import: Release 8.1.7.0.0 - Production on 星期四2月16 16:50:05 2006(c) Copyright 2000 Oracle Corporation. All rights reserved.连接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 - ProductionWith the Partitioning optionJServer Release 8.1.7.0.0 - Production经由常规路径导出由EXPORT:V08.01.07创建的文件已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入导出服务器使用UTF8 NCHAR 字符集(可能的ncharset转换). 正在将AICHANNEL的对象导入到AICHANNEL. . 正在导入表"INNER_NOTIFY" 4行被导入准备启用约束条件...成功终止导入,但出现警告。

附录二:Oracle 不允许直接改变表的拥有者, 利用Export/Import可以达到这一目的.先建立import9.par,然后,使用时命令如下:impparfile=/filepath/import9.par例import9.par 内容如下:FROMUSER=TGPMSTOUSER=TGPMS2 (注:把表的拥有者由FROMUSER改为TOUSER,FROMUSER和TOUSER的用户可以不同)ROWS=YINDEXES=YGRANTS=YCONSTRAINTS=YBUFFER=409600file==/backup/ctgpc_20030623.dmplog==/backup/import_20030623.logSqlServer:******* 导出到excelEXEC master..xp_cmdshell ’bcpSettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDA TA" -U"sa" -P""’/*********** 导入ExcelSELECT *FROM OpenDataSource( ’Microsoft.Jet.OLEDB.4.0’,’Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0’)...xactionsSELECT cast(cast(科目编号as numeric(10,2)) as nvarchar(255))+’’转换后的别名FROM OpenDataSource( ’Microsoft.Jet.OLEDB.4.0’,’Data Sour ce="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0’)...xactions/** 导入文本文件EXEC master..xp_cmdshell ’bcp "dbname..tablename" in c:\DT.txt -c -Sservername -Usa -Ppassword’/** 导出文本文件EXEC master..xp_cmdshell ’bcp "dbname..tablename" o ut c:\DT.txt -c -Sservername -Usa -Ppassword’或EXEC master..xp_cmdshell ’bcp "Select * from dbname..tablename" queryout c:\DT.txt -c -Sservername -Usa -Ppassword’导出到TXT文本,用逗号分开exec master..xp_cmdshell’bcp "库名..表名" out "d:\tt.txt" -c -t ,-U sa -P password’BULK INSERT 库名..表名FROM ’c:\test.txt’WITH (FIELDTERMINA TOR = ’;’,ROWTERMINA TOR = ’\n’)--/* dBase IV文件select * fromOPENROWSET(’MICROSOFT.JET.OLEDB.4.0’,’dBase IV;HDR=NO;IMEX=2;DATABASE=C:\’,’select * from [客户资料4.dbf]’)--*/--/* dBase III文件select * fromOPENROWSET(’MICROSOFT.JET.OLEDB.4.0’,’dBase III;HDR=NO;IMEX=2;DATABASE=C:\’,’select * from [客户资料3.dbf]’)--*/--/* FoxPro 数据库select * from openrowset(’MSDASQL’,’Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\’,’select * from *aa.DBF+’)--*//**************导入DBF文件****************/select * from openrowset(’MSDASQL’,’Driver=Microsoft Visual FoxPro Driver;SourceDB=e:\VFP98\data;SourceType=DBF’,’select * from customer where country != "US A" order by country’)go/***************** 导出到DBF ***************/如果要导出数据到已经生成结构(即现存的)FOXPRO表中,可以直接用下面的SQL语句insert into openrowset(’MSDASQL’,’Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\’,’select * from *aa.DBF+’)select * from 表说明:SourceDB=c:\ 指定foxpro表所在的文件夹aa.DBF指定foxpro表的文件名./*************导出到Access********************/insert into openrowset(’Microsoft.Jet.OLEDB.4.0’,’x:\A.mdb’;’admin’;’’,A表) select * from 数据库名..B表/*************导入Access********************/insert into B表selet * from openrowset(’Microsoft.Jet.OLEDB.4.0’,’x:\A.mdb’;’admin’;’’,A表)********************* 导入xml文件DECLARE @idocintDECLARE @doc varchar(1000)--sample XML documentSET @doc =’<root><Customer cid= "C1" name="Janine" city="Issaquah"><Order oid="O1" date="1/20/1996" amount="3.5" /><Order oid="O2" date="4/30/1997" amount="13.4">Customer was very satisfied</Order></Customer><Customer cid="C2" name="Ursula" city="Oelde" ><Order oid="O3" date="7/14/1999" amount="100" note="Wrap it bluewhite red"><Urgency>Important</Urgency>Happy Customer.</Order><Order oid="O4" date="1/20/1996" amount="10000"/></Customer></root>’-- Create an internal representation of the XML document.EXEC sp_xml_preparedocument @idoc OUTPUT, @doc-- Execute a SELECT statement using OPENXML rowset provider.SELECT *FROM OPENXML (@idoc, ’/root/Customer/Order’, 1)WITH (oidchar(5),amount float,comment ntext’text()’)EXEC sp_xml_removedocument @idoc/********************导整个数据**************************************/用bcp实现的存储过程/*实现数据导入/导出的存储过程根据不同的参数,可以实现导入/导出整个数据库/单个表调用示例:--导出调用示例----导出单个表exec file2table ’zj’,’’,’’,’xzkh_sa..地区资料’,’c:\zj.txt’,1----导出整个数据库exec file2table ’zj’,’’,’’,’xzkh_sa’,’C:\docman’,1--导入调用示例----导入单个表exec file2table ’zj’,’’,’’,’xzkh_sa..地区资料’,’c:\zj.txt’,0----导入整个数据库exec file2table ’zj’,’’,’’,’xzkh_sa’,’C:\docman’,0*/if exists(select 1 from sysobjects where name=’File2Table’ and objectproperty(id,’IsProcedure’)=1)drop procedure File2Tablegocreate procedure File2Table@servernamevarchar(200) --服务器名,@username varchar(200) --用户名,如果用NT验证方式,则为空’’,@password varchar(200) --密码,@tbnamevarchar(500) --数据库.dbo.表名,如果不指定:.dbo.表名,则导出数据库的所有用户表,@filename varchar(1000) --导入/导出路径/文件名,如果@tbname参数指明是导出整个数据库,则这个参数是文件存放路径,文件名自动用表名.txt,@isout bit --1为导出,0为导入asdeclare @sqlvarchar(8000)if @tbname like ’%.%.%’--如果指定了表名,则直接导出单个表beginset @sql=’bcp ’+@tbname+case when @isout=1 then ’ out ’ else ’ in ’ end+’ "’+@filename+’" /w’+’ /S ’+@servername+case when isnull(@username,’’)=’’ then ’’ else ’ /U ’+@username end+’ /P ’+isnull(@password,’’)exec master..xp_cmdshell @sqlendelsebegin --导出整个数据库,定义游标,取出所有的用户表declare @m_tbnamevarchar(250)if right(@filename,1)<>’\’ set @filename=@filename+’\’set @m_tbname=’declare #tb cursor for select name from ’+@tbname+’..sysobjects where xtype=’’U’’’exec(@m_tbname)open #tbfetch next from #tb into @m_tbnamewhile @@fetch_status=0beginset @sql=’bcp ’+@tbname+’..’+@m_tbname+case when @isout=1 then ’ out ’ else ’ in ’ end+’ "’+@filename+@m_tbname+’.txt " /w’+’ /S ’+@servername+case when isnull(@username,’’)=’’ then ’’ else ’ /U ’+@username end+’ /P ’+isnull(@password,’’)exec master..xp_cmdshell @sqlfetch next from #tb into @m_tbnameendclose #tbdeallocate #tbendgo/**********************Excel导到Txt************************************/想用select * into opendatasource(...) from opendatasource(...)实现将一个Excel文件内容导入到一个文本文件假设Excel中有两列,第一列为姓名,第二列为很行帐号(16位)且银行帐号导出到文本文件后分两部分,前8位和后8位分开。

相关文档
最新文档