1、实验内容:

利用SQL语句“load data ”将“.txt”文本文件中的数据导入到mysql中

2、实验过程:

首先我创了一个txt(也可以是其他的),设置其编码为utf-8,在windows下默认编码是ANSI。

设置方法,打开一个空txt文件,点击另存,编码显示是ANSI,换成UTF-8

 张三 31 北京 3000
李四 25 杭州 4000
王五 45 上海 4500
小明 29 天津 2331

假设以上就是一个txt文件中的内容(文件名叫pid.txt,在E盘中)

根据这个表中的内容创建一个表:

 mysql> create table per1(
-> name varchar(),
-> age int,
-> city varchar(),
-> salary int
-> );
Query OK, rows affected (0.64 sec)

然后导入数据,当然,有很大几率会出错:因为你很有可能遇上

mysql secure_file_priv 文件读写问题(这是一个关于能否允许导入或者导出mysql与外界的设置)

 mysql> load data infile "E:\vs\ppid.txt"
-> into table per(name,age,city,salary);
ERROR (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
mysql> show variables like '%secure%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| require_secure_transport | OFF |
| secure_file_priv | NULL |
+--------------------------+-------+
rows in set, warning (0.01 sec)

我的secure_file_priv为空,说明不允许导入导出数据,需要在my.ini中修改secure_file_priv的值,一般会没有secure_file_priv,所以为了安全认为secure_file_priv为不允许,手动添加secure_file_priv

 1 secure_file_priv = '莫目录名'   #只允许在这个目录里做事    
2 secure_file_priv = #这里不写 表示任意一个路都可以导入导出
3 secure_file_priv = NULL #不允许导入导出,啥都不许干。
#综上所诉,我选择 secure_file_priv =

由上图可看出一开始我也写了一个目录,后来把路径给注释掉了。

下方有 # 号往后的一些配置在此截图的上方已经配置好了,为了某个时候可能需要 就将只其注释掉,而不是删去。

( ps:改完my.ini内容过后要重启mysql。net stop mysql , net start mysql ,而不是关掉命令行界面)

言归正传,开始干正事了。。。

这是一个更改后的utf-8的txt文件

先登陆

选择一个库,不然呆会儿在那个库中工作都不知道,它会报错。

然后导入,导入,当然,不可避免出错了,显示错位,并且还将”4  小明  29  天津   2331“这一行数据给了name属性!!

age,city属性是这模样。

加上LINES TERMINATED BY '\r\n'  添加了两次,还是都在name里面去了,不过貌似顺眼了一点点。

添加 FIELDS TERMINATED BY '   '  LINES TERMINATED BY '\r\n';

‘  ’ 意思是空格为界分开,\r\n回车符换行符表示一行了,找下一行数据。

到此才算导入结束。不过,张三你咋这么突出??还不走寻常路。

查询过后,这是关于二进制某不可读字符的问题。

附上类似的问题解决方案,这是链接

load data导txt文件进mysql中的数据的更多相关文章

  1. MySQL中load data infile将文件中的数据批量导入数据库

    有时候我们需要将文件中的数据直接导入到数据库中,那么我们就可以使用load data infile,下面具体介绍使用方法. dao中的方法 @Autowired private JdbcTemplat ...

  2. 用python批量向数据库(MySQL)中导入数据

    用python批量向数据库(MySQL)中导入数据 现有数十万条数据,如下的经过打乱处理过的数据进行导入 数据库内部的表格的数据格式如下与下面的表格结构相同 Current database: pyt ...

  3. Vusual C++连接Mysql和从MySql中取出数据的API介绍

    .1 mysql_real_connect() 2.1.1 函数原型: MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const ...

  4. 程序一 用记事本建立文件src.dat,其中存放若干字符。编写程序,从文件src.dat中读取数据,统计其中的大写字母、小写字母、数字、其它字符的个数,并将这些数据写入到文件test.dat中。

    用记事本建立文件src.dat,其中存放若干字符.编写程序,从文件src.dat中读取数据,统计其中的大写字母.小写字母.数字.其它字符的个数,并将这些数据写入到文件test.dat中. #inclu ...

  5. PHP如何批量更新MYSQL中的数据

    最近项目需要用到批量更新数据库里的数据,在网上找了一下这方面的例子,觉得这个还不错,分享给大家. 在这个业务里里面涉及到了更新两张数据表,那么大家是不是会想到非常简单,马上上代码 $sql ,type ...

  6. 辛星浅谈mysql中的数据碎片以及引擎为MyISAM下的操作

    对于mysql中的数据碎片,事实上和我们删除数据是息息相关的,删除数据的时候必定会在数据文件里造成不连续的空白空间,对于少量的数据的删除,并不会产生多少的空白空间.假设在一段时间内的大量的删除操作,会 ...

  7. PHP批量更新MYSQL中的数据

    原文链接:https://blog.csdn.net/wuming19900801/article/details/62893429 $sql = "update newhouse_clic ...

  8. 利用Ajax实现数据的同步传输,从mysql中提取数据,通过echarts可视化

    如何将mysql数据库中的方式通过echarts可视化呢,以下面这个简单的例子向大家进行演示:   步骤一:mysql的创表和插入数据,当然这些数据也可以是你通过爬虫抓取的.     步骤二:   创 ...

  9. hadoop项目实战--ETL--(二)实现自动向mysql中添加数据

    四 项目开发 1 创建数据库db_etl,新建两张表user 和oder.表结构如第一部分图所示. 2 编写python脚本,实现自动向mysql中插入数据. 新建python 项目,目录结构如下图 ...

随机推荐

  1. 白话skynet第三篇:通过队列解决多线程竞争资源

    今天遇到一个问题,在大厅服务中,如果一个请求使用到了一个公共的变量,如何保证其一致性? 虽然请求是挨个运行的,但是skynet.call会阻塞. "同一个 skynet 服务中的一条消息处理 ...

  2. 装PIL库

    pip install Pillow -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

  3. linux将apache设置为系统服务和开机自启

    1> 查看一下/etc/init.d/下是否存在httpd这个服务 ls /etc/init.d/ | grep httpd 如果没有执行下一步 2>将自己安装目录下的apachect1复 ...

  4. windows下redis集群安装和部署

    1.下载windows版本的Redis 官网只提供linux版本的下载 官网下载地址:http://redis.io/download github下载地址:https://github.com/MS ...

  5. centos7 安装oracle 11g数据库

    1.新建oracle用户 groupadd oracle useradd -g oracle oracle .修改操作系统核心参数 在Root用户下执行以下步骤: 1)修改用户的SHELL的限制,修改 ...

  6. Gvim:unable to load python

    环境 系统win7 64 bit 软件: Gvim8.1 : MS-Windows 32bit 软件: python2.7.14 windows 64bit 问题 点击打开Gvim时,提示:unabl ...

  7. Linux常用操作指令(面试专用)

    Linux:免费开源,多用户多任务,衍生出很多附属版本,例如常用的RedHat... 常用指令 ls        显示文件或目录 -l           列出文件详细信息l(list) -a   ...

  8. 【SS & KCP centos7配置】

    1 依赖和环境配置 1.1 升级 yum $ yum update 1.2 安装 screen $ yum install screen 关于 screen 的详情:http://www.vpser. ...

  9. (Review cs231n) Object Detection

    目标:我们有几个类别,然后我们要在这张图中找到这些类的所有实例 解决思路:是否可以按照回归的思路进行求解呢? 但是受限制于确定的种类输出问题. 方法:分类和回归是解决问题的两个套路,我们现在对于目标的 ...

  10. svn与cvs的一些比较

    所有的文档都显示SVN可以取代CVS,同时SVN的问题和缺点都被隐藏了.不幸的是,我们并不认为SVN是CVS的替代品,尽管很多缺陷都被修改了.更有甚者,它甚至让人重回VSS.CVS和SVN的比较类似与 ...