1从sqlserver导出数据
执行bcp:
bcp “…” queryout “f:\test.txt” -c –s1.2.3.4 -usa -p1111
命令参数含义:
(1) 导入。
这个动作使用in命令完成,后面跟需要导入的文件名。
(2) 导出。
这个动作使用out命令完成,后面跟需要导出的文件名。
(3) 使用sql语句导出。
这个动作使用queryout命令完成,它跟out类似,只是数据源不是表或视图名,而是sql语句。
(4) 导出格式文件。
这个动作使用format命令完成,后而跟格式文件名。
下面介绍一些常用的选项:
-f format_file
format_file表示格式文件名。这个选项依赖于上述的动作,如果使用的是in或out,format_file表示已经存在的格式文件,如果使用的是format则表示是要生成的格式文件。
-x
这个选项要和-f format_file配合使用,以便生成xml格式的格式文件。
-f first_row
指定从被导出表的哪一行导出,或从被导入文件的哪一行导入。
-l last_row
指定被导出表要导到哪一行结束,或从被导入文件导数据时,导到哪一行结束。
-c
使用char类型做为存储类型,没有前缀且以”/t”做为字段分割符,以”/n”做为行分割符。
-w
和-c类似,只是当使用unicode字符集拷贝数据时使用,且以nchar做为存储类型。
-t field_term
指定字符分割符,默认是”/t”。
-r row_term
指定行分割符,默认是”/n”。
-s server_name[ /instance_name]
指定要连接的sql server服务器的实例,如果未指定此选项,bcp连接本机的sql server默认实例。如果要连接某台机器上的默认实例,只需要指定机器名即可。
-u login_id
指定连接sql sever的用户名。
-p password
指定连接sql server的用户名密码。
-t
指定bcp使用信任连接登录sql server。如果未指定-t,必须指定-u和-p。
-k
指定空列使用null值插入,而不是这列的默认值。
2导入数据到mysql
执行load data命令:
load data local infile “f:/test.txt” into table table1character set gbk;
命令参数含义:
load data [low_priority] [local] infile ‘file_name txt’ [replace |ignore]
into table tbl_name
[fields
[terminated by’t’]
[optionally] enclosed by ”]
[escaped by’\’ ]]
[lines terminated by’n’]
[ignore number lines]
[(col_name, )]
2.1 low_priority
如果你指定关键词low_priority,那么mysql将会等到没有其他人读这个表的时候,才把插入数据。
2.2 local
如果指定local关键词,则表明从客户主机读文件。如果local没指定,文件必须位于服务器上。
2.3 replace & ignore
replace和ignore关键词控制对现有的唯一键记录的重复的处理。如果你指定replace,新行将代替有相同的唯一键值的现有行。如果你指定ignore,跳过有唯一键的现有行的重复行的输入。如果你不指定任何一个选项,当找到重复键时,出现一个错误,并且文本文件的余下部分被忽略。
2.4分隔符
terminated by描述字段的分隔符,默认情况下是tab字符(\t)
enclosed by描述的是字段的括起字符。
escaped by描述的转义字符。默认的是反斜杠(backslash:\)
lines 关键字指定了每条记录的分隔符默认为’\n’即为换行符
2.5导入部分列
load data infile可以按指定的列把文件导入到数据库中。当我们要把数据的一部分内容导入的时候,,需要加入一些栏目(列/字段/field)到mysql数据库中,以适应一些额外的需要。比方说,我们要从access数据库升级到mysql数据库的时候
下面的例子显示了如何向指定的栏目(field)中导入数据:
load data infile “/home/ordertxt” into table orders(order_number, order_date, customer_id);
2.6相对&绝对路径
(1)如果给出一个绝对路径名,服务器使用该路径名。
(2)如果给出一个有一个或多个前置部件的相对路径名,服务器相对服务器的数据目录搜索文件。
(3)如果给出一个没有前置部件的一个文件名,服务器在当前数据库的数据库目录寻找文件。
例如: /myfile txt”给出的文件是从服务器的数据目录读取,而作为“myfile txt”给出的一个文件是从当前数据库的数据库目录下读取。
2.7字符集
character set gbk指定字符集为gbk,与文件的编码格式(ansi)保持一致。否则中文数据导入后可能变为乱码。
2.8灵活导入
可以在导入的同时,插入一些其他列:
load data local infile “f:/test.txt”into table table1 set pin=’zs’,create_date=current_timestamp;
3常见问题
3.1无法运行load data命令
执行load data localinfile时报错:
the used command is not allowed with this mysql version
解决方法是:启动mysql客户端是加上–local-infile=1参数
$ mysql –local-infile=1 –uroot –p123 –h 127.0.0.1
3.2用bcp导出utf-8格式
解决方法是加上-c选项:
$ bcp “query sql…” queryout “f:\test.txt” -c -c65001–s1.2.3.4 -usa -p1111
SQLServer导出数据到MySQL实例介绍
•
生活家
赞 (0)
危险化学品防护措施
上一篇
2022年3月21日
正财偏财测算,算命书上说的正财,偏财,浮财,横财分别是什么意思哦?
下一篇
2022年3月21日