load data导txt文件进mysql中的数据
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中的数据的更多相关文章
- MySQL中load data infile将文件中的数据批量导入数据库
有时候我们需要将文件中的数据直接导入到数据库中,那么我们就可以使用load data infile,下面具体介绍使用方法. dao中的方法 @Autowired private JdbcTemplat ...
- 用python批量向数据库(MySQL)中导入数据
用python批量向数据库(MySQL)中导入数据 现有数十万条数据,如下的经过打乱处理过的数据进行导入 数据库内部的表格的数据格式如下与下面的表格结构相同 Current database: pyt ...
- Vusual C++连接Mysql和从MySql中取出数据的API介绍
.1 mysql_real_connect() 2.1.1 函数原型: MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const ...
- 程序一 用记事本建立文件src.dat,其中存放若干字符。编写程序,从文件src.dat中读取数据,统计其中的大写字母、小写字母、数字、其它字符的个数,并将这些数据写入到文件test.dat中。
用记事本建立文件src.dat,其中存放若干字符.编写程序,从文件src.dat中读取数据,统计其中的大写字母.小写字母.数字.其它字符的个数,并将这些数据写入到文件test.dat中. #inclu ...
- PHP如何批量更新MYSQL中的数据
最近项目需要用到批量更新数据库里的数据,在网上找了一下这方面的例子,觉得这个还不错,分享给大家. 在这个业务里里面涉及到了更新两张数据表,那么大家是不是会想到非常简单,马上上代码 $sql ,type ...
- 辛星浅谈mysql中的数据碎片以及引擎为MyISAM下的操作
对于mysql中的数据碎片,事实上和我们删除数据是息息相关的,删除数据的时候必定会在数据文件里造成不连续的空白空间,对于少量的数据的删除,并不会产生多少的空白空间.假设在一段时间内的大量的删除操作,会 ...
- PHP批量更新MYSQL中的数据
原文链接:https://blog.csdn.net/wuming19900801/article/details/62893429 $sql = "update newhouse_clic ...
- 利用Ajax实现数据的同步传输,从mysql中提取数据,通过echarts可视化
如何将mysql数据库中的方式通过echarts可视化呢,以下面这个简单的例子向大家进行演示: 步骤一:mysql的创表和插入数据,当然这些数据也可以是你通过爬虫抓取的. 步骤二: 创 ...
- hadoop项目实战--ETL--(二)实现自动向mysql中添加数据
四 项目开发 1 创建数据库db_etl,新建两张表user 和oder.表结构如第一部分图所示. 2 编写python脚本,实现自动向mysql中插入数据. 新建python 项目,目录结构如下图 ...
随机推荐
- (转)jmeter接口测试--获取token
Jmeter进行接口测试-提取token 项目一般都需要进行登陆才能进行后续的操作,登陆有时发送的请求会带有token,因此, 需要使用后置处理器中的正则表达式提取token,然后用BeanShell ...
- Hadoop组件
---------Hive--------------------------zooKeeper-------------------------------kafka---------------- ...
- vue+element-ui实现表格checkbox单选
公司平台利用vue+elementui搭建前端页面,因为本人第一次使用vue也遇到了不少坑,因为我要实现的效果如下图所示 实现这种单选框,只能选择一个,但element-ui展示的是多选框,check ...
- Java之.jdk卸载-Linux
Java之.jdk卸载-Linux 卸载Linux自带的jdk 首先查询: # rpm -qa | grep jdk 使用root账户,进行卸载: # yum -y remove xxxxxxxx( ...
- React项目中使用hot-react-loader
在构建react项目时,默认使用的webpack-dev-serve有热刷新功能,但是局限是修改一处会使整个页面刷新 当引入了react-hot-loader时,可以实现局部刷新,即同个页面上,某一处 ...
- iOS深浅拷贝
浅拷贝:你和你的影子,你改变,你的影子发生改变 深拷贝:你的克隆人,你改变,你的克隆人并不会发生变化 eg: NSString *string = @"我是一个小白鼠"; NSSt ...
- [virtualbox] win10与centos共享目录下,nginx访问问题
原文,http://blog.csdn.net/zhezhebie/article/details/73554872 virtualbox自动挂载之后,默认是挂载在/media/sf_WWW下面的: ...
- SQL中内连接和外连接的区别
数据表的连接有: 1.内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现 2.外连接: 包括 (1)左外连接(左边的表不加限制) (2)右外连接(右边的表不加限制) (3)全外连接(左右两表 ...
- Linux 磁盘挂载分区
举例说明: 新增磁盘的设备文件名为 /dev/vdb 大小为100GB. #fdisk -l 查看新增的的磁盘 1.对新增磁盘进行分区 #fdisk /dev/vdb 按提示操作 p打印 n新增 d ...
- Windows Server 2012安装IIS 8.0
一.安装 1.鼠标右键[This PC]→[Manage] 2.选择[Add Roles and Features] 3.勾选[.Net Framewore 3.5] 和 [.Net Framewor ...