来自 数据库 2020-05-07 17:33 的文章
当前位置: 网上澳门金莎娱乐 > 数据库 > 正文

SQLServer导出数据到MySQL实例介绍

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字符 enclosed by描述的是字段的括起字符。 escaped by描述的转义字符。默认的是反斜杠 lines 关键字指定了每条记录的分隔符默认为'n'即为换行符 2.5导入部分列 load data infile可以按指定的列把文件导入到数据库中。当我们要把数据的一部分内容导入的时候,,需要加入一些栏目到MySQL数据库中,以适应一些额外的需要。比方说,我们要从Access数据库升级到MySQL数据库的时候 下面的例子显示了如何向指定的栏目(field)中导入数据: load data infile "/home/Ordertxt" into table Orders(Order_Number, Order_Date, Customer_ID); 2.6相对&绝对路径 如果给出一个绝对路径名,服务器使用该路径名。 如果给出一个有一个或多个前置部件的相对路径名,服务器相对服务器的数据目录搜索文件。 如果给出一个没有前置部件的一个文件名,服务器在当前数据库的数据库目录寻找文件。 例如: /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用法

mysql导入数据loaddatainfile用法

mysql导入数据load data infile用法

基本语法: 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, )]

load data infile语句从一个文本文件中以很高的速度读入一个表中。使用这个命令之前,mysqld进程(服务)必须已经在运行。为了安全原因,当读取位于服务器上的文本文件时,文件必须处于数据库目录或可被所有人读取。另外,为了对服务器上文件使用load data infile,在服务器主机上你必须有file的权限。 1 如果你指定关键词low_priority,那么MySQL将会等到没有其他人读这个表的时候,才把插入数据。可以使用如下的命令:
load data low_priority infile "/home/mark/data sql" into table Orders; 2 如果指定local关键词,则表明从客户主机读文件。如果local没指定,文件必须位于服务器上。 3 replace和ignore关键词控制对现有的唯一键记录的重复的处理。如果你指定replace,新行将代替有相同的唯一键值的现有行。如果你指定ignore,跳过有唯一键的现有行的重复行的输入。如果你不指定任何一个选项,当找到重复键时,出现一个错误,并且文本文件的余下部分被忽略。例如: load data low_priority infile "/home/mark/data sql" replace into table Orders; 4 分隔符 (1) fields关键字指定了文件记段的分割格式,如果用到这个关键字,MySQL剖析器希望看到至少有下面的一个选项:
terminated by分隔符:意思是以什么字符作为分隔符
enclosed by字段括起字符
escaped by转义字符 terminated by描述字段的分隔符,默认情况下是tab字符(t)
enclosed by描述的是字段的括起字符。
escaped by描述的转义字符。默认的是反斜杠(backslash: ) 例如:load data infile "/home/mark/Orders txt" replace into table Orders fields terminated by',' enclosed by '"'; (2)lines 关键字指定了每条记录的分隔符默认为'n'即为换行符 如果两个字段都指定了那fields必须在lines之前。如果不指定fields关键字缺省值与如果你这样写的相同: fields terminated by't' enclosed by ’ '' ‘ escaped by'\' 如果你不指定一个lines子句,缺省值与如果你这样写的相同: lines terminated by'n' 例如:load data infile "/jiaoben/load.txt" replace into table test fields terminated by ',' lines terminated by '/n'; 5 load data infile 可以按指定的列把文件导入到数据库中。 当我们要把数据的一部分内容导入的时候,,需要加入一些栏目(列/字段/field)到MySQL数据库中,以适应一些额外的需要。比方说,我们要从Access数据库升级到MySQL数据库的时候 下面的例子显示了如何向指定的栏目(field)中导入数据:
load data infile "/home/Order txt" into table Orders(Order_Number, Order_Date, Customer_ID); 6 当在服务器主机上寻找文件时,服务器使用下列规则:
(1)如果给出一个绝对路径名,服务器使用该路径名。
(2)如果给出一个有一个或多个前置部件的相对路径名,服务器相对服务器的数据目录搜索文件。
(3)如果给出一个没有前置部件的一个文件名,服务器在当前数据库的数据库目录寻找文件。
例如: /myfile txt”给出的文件是从服务器的数据目录读取,而作为“myfile txt”给出的一个文件是从当前数据库的数据库目录下读取。 注意:字段中的空值用N表示

http://www.bkjia.com/Mysql/947298.htmlwww.bkjia.comtruehttp://www.bkjia.com/Mysql/947298.htmlTechArticlemysql导入数据loaddatainfile用法 mysql导入数据load data infile用法 基本语法:load data [low_priority] [local] infile 'file_name txt' [replace | ignore] into table t...

本文由网上澳门金莎娱乐发布于数据库,转载请注明出处:SQLServer导出数据到MySQL实例介绍

关键词: