关于LOAD DATA INFILE 命令的使用问题解决

通过LOAD DATA方式将数据导入数据表中

LOAD DATA INFILE ‘输入文件的路径及文件名‘ INTO TABLE 要导入表的表名称;

LOAD DATA INFILE ‘G:/p.txt‘ INTO TABLE province;
LOAD DATA INFILE ‘G:/p.txt‘ INTO TABLE province CHARACTER SET utf8 ;

这个命令有几个需要注意的地方:

注意:

(1)       导入txt之前,应当删除字段的表头,否则表头内容也会被当做字段的值导入字段中。

(2)       导入txt之前,应当将txt另存为utf-8格式,否则中文无法导入。

(3)       导入txt之前,一定要将utf-8的文档去BOM头化,否则因为有前导字符串,会导入错误。
如果没有去BOM头,就会在第一行出现以下经过内容,导致内容导入错误:

mysql> SHOW WARNINGS;
+---------+------+--------------------------------------------------------+
| Level   | Code | Message                                                |
+---------+------+--------------------------------------------------------+
| Warning | 1366 | Incorrect integer value: ‘?1‘ for column ‘id‘ at row 1 |
+---------+------+--------------------------------------------------------+
1 row in set (0.00 sec)

关于第一行出错的这个情况,开始我也没想到是BOM头的问题,后来看到了这个帖子 才知道。
去BOM头,可以下载这个小工具:http://www.huacolor.com/soft/80485.html

时间: 2024-10-25 10:43:40

关于LOAD DATA INFILE 命令的使用问题解决的相关文章

mysql load data infile的使用 和 SELECT into outfile备份数据库数据

LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE] INTO TABLE tbl_name [FIELDS [TERMINATED BY 'string'] [[OPTIONALLY] ENCLOSED BY 'char'] [ESCAPED BY 'char' ] ] [LINES [STARTING BY 'string'] [TERMINATED BY 'string

mysql 的load data infile

LOAD DATA INFILE语句从一个文本文件中以很高的速度读入一个表中.如果指定LOCAL关键词,从客户主机读文件.如果LOCAL没指定,文件必须位于服务器上.(LOCAL在MySQL3.22.6或以后版本中可用.) 为了安全原因,当读取位于服务器上的文本文件时,文件必须处于数据库目录或可被所有人读取.另外,为了对服务器上文件使用LOAD DATA INFILE,在服务器主机上你必须有file的权限. 头 一回用load data infile,以为只是把插入语句写到一个文件里,然后用lo

mysql导入数据load data infile用法整理

有时候我们需要将大量数据批量写入数据库,直接使用程序语言和Sql写入往往很耗时间,其中有一种方案就是使用MySql Load data infile导入文件的形式导入数据,这样可大大缩短数据导入时间. 假如是从MySql客户端调用,将客户端的文件导入,则需要使用 load local data infile. LOAD DATA INFILE 语句以很高的速度从一个文本文件中读取行到一个表中.文件名必须是一个文字字符串. 1,开启load local data infile. 假如是Linux下

load data infile

LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name' [REPLACE | IGNORE] INTO TABLE tbl_name [PARTITION (partition_name,...)] [CHARACTER SET charset_name] [{FIELDS | COLUMNS} [TERMINATED BY 'string'] [[OPTIONALLY] ENCLOSED BY 'char'] [ESCA

My SQL load data infile 遇到的问题总结

假如: create table test_table( id int, name varchar (128); 假如命令如下: load data infile 'a.txt' into table `test_table` fields enclosed by '"' terminated by ',' 假如列值如下: "1","abc"123"abc" 这样的值还是能正确处理的.导入之后,列值为:1 abc"123&qu

mysql数据库LOAD DATA INFILE Syntax

1.LOAD DATA INFILE用来把一个文本文件里的内容高速写入到MySQL表里,它和SELECT ... INTO FILE的操作是对应的,一个导入.一个导出.使用LOAD DATA INFILE需要MySQL对要导入的文件有读权限,其语法如下: LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name' [REPLACE | IGNORE] INTO TABLE tbl_name [PARTITION (partit

mysql导入数据load data infile用法

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]

JDBC使用MYSQL的LOAD DATA LOACAL INFILE和LOAD DATA INFILE

MYSQL的LOAD方法都必须建立在mysql服务允许使用该命令的情况下: 开启该命令的方法: 1.在实例对应的my.cnf(windows为my.ini)中添加一行local-infile=1(默认好像是开启的),改为0即关闭,LOAD方式禁用. 2.加参数local-infile=1(默认是开启的,除非my.cnf中配置了禁止使用load才这样启动)启动mysql,"/usr/local/mysql/bin/mysqld_safe --user=mysql --local-infile=1

mysql load data infile 导入数据

我们常常导入数据!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