大家好,又跟大家见面了。最近因为发生了这样那样的事情,好久没有写手记了。
最近我玩了一下MySQL,但是却因为两个小问题浪费了我一天的时间。为了各位慕友们不再像我这样浪费较多的耗时间在小的问题上,所以我今天来总结一下遇到这两个小问题应该怎么办。
首先,是字符集的问题。这种问题很常见,在我们新建立的表的时候在表中插入数据,但是插入汉字的时候却总会出乱码。
解决问题方法如下:mysql> show variables like 'characterset%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)
mysql> show variables like 'collation_%';
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+
3 rows in set (0.01 sec)
这个相信大家在网上都会找到,所以这里就不细说了。
接下来我要说的这两个小问题使网上十分钟少见的,希望可以帮助到大家。
首先是建表示的问题。我们都知道建表的时候会注意字段,但是只是这样是不够的,应该还要注意一个地方,那就是这里:
少见吧~~,来膜拜我吧~
好吧,我错了。
当我们的字段类型为“varchar”的时候就一定要注意下面的默认选项的这些值。基本上按照图片上面来填的话不会出什么大问题。
要不然导入数据之后,虽然会出现正常的行数,但是我们所有字段下面的内容全都是空的。
但是正常插入的话是好用的,比如第一行就是我insert into的。
就像这样:
这是第一点我们需要注意的地方O(∩_∩)O。
第二个就是导入表的时候,当我们把Excel文件导入到MySQL中的时候,这个才是我要讲的重点。
在网上,我们可以找到怎样将Excel文件导入到MySQL中去。但是大部分的博客都忽略了一个问题,那就是保存文件时候的格式。
这里我要重点强调“格式”这件事情,因为在下就是因为这个格式这件事情而被坑到了骨头里。
当我们编辑好文件后会选择保存,我想大部分人都会选择直接保存。
好吧,只有我是。
大家一定要注意了,这个保存可不是直接保存,而是要选择格式的,如果想要修改文件的格式一定不能只修改文件后面的拓展名。
下面我来给大家来几张图片:
图片描述
如果不这样做的话,会传进去空值、null、0什么的,总之就是没有值。
比如:
这里面的0 ,并不是我在文件中写入的数字:
这是我在表中所添加的内容。
看!不一样吧~
大家一定要注意这里。
基本上这样操作之后再从网上复制粘贴SQL就可以了:
LOAD DATA LOCAL INFILE 'D:/java/444.csv' INTO TABLE haha FIELDS TERMINATED BY ','LINES TERMINATED BY '\n';
D:/java/444.csv:本地文件路径!!!!
但是!!!
小生到这里导入文件的时候却依然不好使,为什么呢,小生百思不得其解。文件是倒进去了,但是却会出现乱码。
编码格式我也改了,文件的合适我也改了,这尼玛到底是为什么?
然后前辈也编辑了一个文件,传给我让我再试试,却奇迹般的好使了。但是等到我自己编辑的时候却还是会出现乱码。
小生是找了各大网站上面的解决办法却还是没有解决。
小生在这里给大家推荐一款软件叫做“UE”,这个工具基本上是我们办公屋子里面必备的一款软件,当然其他的软件也可以,比如Notepad++,一个非常可爱的变色龙。
出向上面这种情况是因为文件的编码格式不对,并不是utf-8,所以我们要用各种文本编辑器之类的软件来用它转转换格式。
这里小生就用“UE”这个软件来句一个例子:
首先,我们右键Excel文件,然后用“UE”打开,之后---->>高级---->>转换--->>转成utf-8,之后我们再次倒入文件就可以了。
既不会出现乱码,也不会出现传空值这种情况出现。
总之,这一次就先说这些,希望这篇手记能够帮助到大家,如果有问题请大家一定要及时指出,小生也是最近才开始玩儿MySQL,并不是很熟练,茹果有更简便的方法请大家分享。
共同学习,写下你的评论
评论加载中...
作者其他优质文章