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. ELK日志分析解决方案

    概要 ELK(Elasticsearch , Logstash, Kibana的简称)是目前比较流行的日志分析解决方案,核心包括了三个部分 Elasticsearch:日志查询分析引擎 Logstas ...

  2. 在C#中,Windows Console控制台 设置控制台标题、禁用关闭按钮、关闭快速编辑模式、插入模式

    设置控制台标题 禁用关闭按钮 关闭快速编辑模式 关闭插入模式 设置控制台标题.禁用关闭按钮 #region 设置控制台标题 禁用关闭按钮 [DllImport("user32.dll&quo ...

  3. linux----------VMware如何链接局域网其它电脑上的虚拟机,选择桥接模式即可。仔细阅读虚拟机的三个连接方式

    VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式).要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式.   ...

  4. linux 系统管理11 ——系统安全及应用

    一.基本安全措施 1.系统账号清理 (1).将非登陆用户的shell设为/sbin/nologin 方法一.usermod -s 方法二.chsh命令,交互式修改 方法三.chsh -s usermo ...

  5. django中如何实现分页功能

    1.在html页面中导入js文件和css文件 <link rel="stylesheet" href="../../../static/css/jquery.pag ...

  6. git目录

    git学习网站 https://backlog.com/git-tutorial/cn/intro/intro1_1.html

  7. springboot自动生成mysql的DAO层代码

    springboot提供了强大丰富的整合内容,但是每次要写一堆dao层的xml或者数据库相关的配置代码的时候,还是挺繁琐又容易出错的. 可以用mybatis-generator自动生成代码: 只需要加 ...

  8. 【SW4STM32生成 hex文件的设置方法】

    SW4STM32生成 hex文件的设置方法 开发环境:WIN7_64 + SW4STM32  联系方式:yexiaopeng1992@126.com 修改: 2018年1月21日 在这周,有一个热心的 ...

  9. angular4实战开发问题——ngclass不起作用

    由于路由机制会导致页面不刷新. 在项目中,很多都是使用click做的路由跳转.ngclass有时候会不起作用, 这个时候我是很盲目的,一开始在考虑是不是书写的问题.ngclass需要有特定的格式?第一 ...

  10. Hive中常用的参数配置

    -- 查看当前环境参数配置set -v;-- 重置配置为默认值reset; -- 调整map数-- input的文件大小,集群设置的文件块大小,hive中通过set dfs.block.size;命令 ...