0

0

mysql load data乱码怎么办

藏色散人

藏色散人

发布时间:2023-02-16 10:37:20

|

2962人浏览过

|

来源于php中文网

原创

mysql load data乱码的解决办法:1、找到出现乱码的SQL语句;2、修改语句为“LOAD DATA LOCAL INFILE "employee.txt" INTO TABLE EMPLOYEE character set utf8;”即可。

mysql load data乱码怎么办

本教程操作环境:Windows10系统、MySQL5.7版本、Dell G3电脑。

mysql load data乱码怎么办?

解决MySQL使用LOAD导入中文数据乱码的问题

假设将文本employee.txt中的数据导入到表EMPLOYEE中

出现乱码的SQL语句

LOAD DATA LOCAL INFILE "employee.txt" INTO TABLE EMPLOYEE;

解决方法,在后面添加character set utf8

LOAD DATA LOCAL INFILE "employee.txt" INTO TABLE EMPLOYEE character set utf8;

相关拓展:

一、使用load语句导入数据

这里对load命令进行简单的总结。

进入MySQL后,使用命令:

load data local infile 'S:/tab_user.txt' 
into table tab_user lines 
terminated by '\r\n' ignore 1 lines;

该语句的语法如下:

基本语法:

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 "S:/tab_user.txt" into table tab_user;  

2)、如果指定local关键词,则表明从客户主机读文件。如果local没指定,文件必须位于服务器上。

(3)、replace和ignore关键词控制对现有的唯一键记录的重复的处理。如果你指定replace,新行将代替有相同的唯一键值的现有行。如果你指定ignore,跳过有唯一键的现有行的重复行的输入。如果你不指定任何一个选项,当找到重复键时,出现一个错误,并且文本文件的余下部分被忽略。例如:

load data  low_priority infile "S:/tab_user.txt" replace

 into table tab_user;

(4)、分隔符

MiniMax Agent
MiniMax Agent

MiniMax平台推出的Agent智能体助手

下载

(a) fields关键字指定了文件记段的分割格式,如果用到这个关键字,MySQL剖析器希望看到至少有下面的一个选项: 

terminated by分隔符:意思是以什么字符作为分隔符

enclosed by字段括起字符

escaped by转义字符

terminated by描述字段的分隔符,默认情况下是tab字符(\t) 

enclosed by描述的是字段的括起字符。

escaped by描述的转义字符。默认的是反斜杠(backslash:\ )  

例如:load data infile "S:/tab_user.txt" replace into table tab_user (id,name) terminated by','  ignore 1 lines;(,作为分隔符)

(b)lines 关键字指定了每条记录的分隔符默认为'\n'即为换行符

如果两个字段都指定了那fields必须在lines之前。如果不指定fields关键字缺省值与如果你这样写的相同: fields terminated by'\t' enclosed by ’ '' ‘ escaped by'\\'

如果你不指定一个lines子句,缺省值与如果你这样写的相同: lines terminated by'\n'

例如:load data infile "s:/tab_user.txt" replace into table test fields terminated by ',' lines terminated by '/n';

(5)、load data infile 可以按指定的列把文件导入到数据库中。 当我们要把数据的一部分内容导入的时候,需要加入一些栏目(列/字段/field)到MySQL数据库中,以适应一些额外的需要。比方说,我们要从Access数据库升级到MySQL数据库的时候

下面的例子显示了如何向指定的栏目(field)中导入数据: 

load data infile "s:/tab_user.txt" into table tab_user(id, name);

(6)、当在服务器主机上寻找文件时,服务器使用下列规则: 

(a)如果给出一个绝对路径名,服务器使用该路径名。 

(b)如果给出一个有一个或多个前置部件的相对路径名,服务器相对服务器的数据目录搜索文件。  

(c)如果给出一个没有前置部件的一个文件名,服务器在当前数据库的数据库目录寻找文件。 

例如: /myfile txt”给出的文件是从服务器的数据目录读取,而作为“myfile txt”给出的一个文件是从当前数据库的数据库目录下读取。

推荐学习:《MySQL视频教程

相关专题

更多
Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

37

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

19

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

37

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

19

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

16

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

3

2026.01.13

交互式图表和动态图表教程汇总
交互式图表和动态图表教程汇总

本专题整合了交互式图表和动态图表的相关内容,阅读专题下面的文章了解更多详细内容。

45

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

9

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Pandas 教程
Pandas 教程

共15课时 | 0.9万人学习

Laravel框架内核源码分析
Laravel框架内核源码分析

共26课时 | 3.4万人学习

MySQL 教程
MySQL 教程

共48课时 | 1.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号