SQLServer中怎么导出数据到MySQL

48次阅读
没有评论

共计 2612 个字符,预计需要花费 7 分钟才能阅读完成。

今天就跟大家聊聊有关 SQLServer 中怎么导出数据到 MySQL,可能很多人都不太了解,为了让大家更加了解,丸趣 TV 小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

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 -P1111mysql 导入数据 load data infile 用法

看完上述内容,你们对 SQLServer 中怎么导出数据到 MySQL 有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注丸趣 TV 行业资讯频道,感谢大家的支持。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-03发表,共计2612字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)