LINUX数据库----关于数据清洗

一、修改数据库编码

1.先登录数据库

mysql  -uroot -proot

[外链图片转存失败(img-zvMV99Js-1567242114658)(C:\Users\WSC\AppData\Roaming\Typora\typora-user-images\1565865982234.png)]

2.查看数据库编码

发现数据库和数据库服务对应的编码是latin1,需要修改数据库的编码为UTF8

show VARIABLES like 'character%';

[外链图片转存失败(img-2f0W9tcF-1567242114658)(C:\Users\WSC\AppData\Roaming\Typora\typora-user-images\1565866081245.png)]

3. 退出数据库,编辑/etc/my.cnf文件

exit
vi /etc/my.cnf

[外链图片转存失败(img-VqqrF66C-1567242114659)(C:\Users\WSC\AppData\Roaming\Typora\typora-user-images\1565866261309.png)]

[外链图片转存失败(img-5NJQ79Rc-1567242114659)(C:\Users\WSC\AppData\Roaming\Typora\typora-user-images\1565854311898.png)]

[外链图片转存失败(img-jZVOUEAB-1567242114659)(C:\Users\WSC\AppData\Roaming\Typora\typora-user-images\1565854030530.png)]

4.修改配置文件

在配置文件中添加,写完以后:wq保存退出

[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_unicode_ci

[外链图片转存失败(img-0FIzoveJ-1567242114659)(C:\Users\WSC\AppData\Roaming\Typora\typora-user-images\1565866533479.png)]

5.重启数据库服务

systemctl restart mysql.service

[外链图片转存失败(img-LIauUqox-1567242114659)(C:\Users\WSC\AppData\Roaming\Typora\typora-user-images\1565866734612.png)]

6.再次进入数据库并查看数据库编码

mysql -uroot -proot
show VARIABLES like 'character%';

[外链图片转存失败(img-AWgRdCUK-1567242114660)(C:\Users\WSC\AppData\Roaming\Typora\typora-user-images\1565866976038.png)]

二、在LINUX中创建数据库及表

创建数据库

1.创建数据库

create database kb02;

[外链图片转存失败(img-cavZkkxe-1567242114660)(C:\Users\WSC\AppData\Roaming\Typora\typora-user-images\1565867218386.png)]

2.创建表

use kb02
create table userinfos(userid int(20) primary key not null auto_increment,username varchar(20),birthday date);

[外链图片转存失败(img-0mOpSEXT-1567242114660)(C:\Users\WSC\AppData\Roaming\Typora\typora-user-images\1565867956922.png)]

3.查看新建的数据库和表

showdatabases;
show tables

[外链图片转存失败(img-MvBR9FC7-1567242114660)(C:\Users\WSC\AppData\Roaming\Typora\typora-user-images\1565868105580.png)]

4.热备份导出

[外链图片转存失败(img-UyOs31nB-1567242114661)(C:\Users\WSC\AppData\Roaming\Typora\typora-user-images\1565868734900.png)]

退出数据库,使用mysqldump导出数据库

exit
mysqldump -uroot -proot kb02 >/opt/mysql/mysql.sql

[外链图片转存失败(img-v1pxi2M7-1567242114661)(C:\Users\WSC\AppData\Roaming\Typora\typora-user-images\1565868631572.png)]

5.导入文件

把之前创建的sql文件,导入进来,这里是先把已经建好的表删除了,再导入

[外链图片转存失败(img-7PilKo9Q-1567242114661)(C:\Users\WSC\AppData\Roaming\Typora\typora-user-images\1565869043983.png)]

操作数据库

1.将本地建好的数据,导入到数据库中

2.清洗数据

将不符合要求的过滤,并将查询的结果写到新的表中:username、birthday为空都过滤,名字相同的保留最大的userid的信息

create table cp_user as select  max(userid) uid ,username ,max(birthday) birth from
(SELECT *from userinfosWHERE username !='' and birthday !='') newuserinfos
GROUP BY username
ORDER BY uid;

[外链图片转存失败(img-HvdlMsvY-1567242114662)(C:\Users\WSC\AppData\Roaming\Typora\typora-user-images\1565876785081.png)]

exist()

[外链图片转存失败(img-UufAvvl2-1567242114662)(C:\Users\WSC\AppData\Roaming\Typora\typora-user-images\1565862339211.png)]

[外链图片转存失败(img-RWSGEsre-1567242114662)(C:\Users\WSC\AppData\Roaming\Typora\typora-user-images\1565862515443.png)]

3.查询姓名(张,李)

模糊查询:

3.1 查询 l 开头的名字(不区分大小写)

[外链图片转存失败(img-W3ccez9w-1567242114662)(C:\Users\WSC\AppData\Roaming\Typora\typora-user-images\1565876405830.png)]

3.2 查询L 开头的名字(分大小写)

[外链图片转存失败(img-qzEtKRFN-1567242114662)(C:\Users\WSC\AppData\Roaming\Typora\typora-user-images\1565877032505.png)]

3.3 查询L,W 开头的名字(不分大小写)

[外链图片转存失败(img-v3DJRJpj-1567242114663)(C:\Users\WSC\AppData\Roaming\Typora\typora-user-images\1565877401711.png)]

4.查询出生人数(某一年)

4.1 查询1995年出生的人

三种方法:

4.1.1 模糊查询

[外链图片转存失败(img-LcW6N1B1-1567242114663)(C:\Users\WSC\AppData\Roaming\Typora\typora-user-images\1565877775245.png)]

4.1.1 模糊查询

5.查询姓名出生人数(某一年张 李出生人数)

5.1查询姓l 或者姓w 并且出生在1901-1903的人

4.查询出生人数(某一年)

4.1 查询1995年出生的人

三种方法:

4.1.1 模糊查询

[外链图片转存中…(img-LcW6N1B1-1567242114663)]

4.1.1 模糊查询

5.查询姓名出生人数(某一年张 李出生人数)

5.1查询姓l 或者姓w 并且出生在1901-1903的人

[外链图片转存失败(img-PLCI6ukz-1567242114663)(C:\Users\WSC\AppData\Roaming\Typora\typora-user-images\1565920389228.png)]

LINUX数据库——修改数据库编码相关推荐

  1. linux mysql 编码修改,Linux下修改MySQL编码的方法

    这篇文章主要为大家详细介绍了Linux下修改MySQL编码的方法,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编小韵来看看吧! 默认登录mysql之后可以通过SH ...

  2. linux mysql 修改数据库名字_安全快速更改MySQL数据库名称

    导读 MySQL似乎没有更改数据库名称的语句(也许是我不知道),如果你有数据库服务器的管理权限,可以直接更改一下目录名即可,但如果没有权限,可以通过更改表名达到修改数据库名的目的.下面是把centos ...

  3. mysql数据库修改数据库名称_MySQL数据库之MySQL 修改数据库名称的一个新奇方法...

    本文主要向大家介绍了MySQL数据库之MySQL 修改数据库名称的一个新奇方法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. MySQL在5.1引入了一个rename data ...

  4. MySQL数据库修改数据库名的三种方式

    在Innodb数据库引擎下修改数据库名的方式与MyISAM引擎下修改数据库的方式完全不一样,如果是MyISAM可以直接去数据库目录中mv就可以,Innodb如果用同样的方法修改会提示相关表不存在. 第 ...

  5. MongoDB数据库修改数据库和集合名称

    1. 修改数据库名 // 复制一个新的数据库 db.copyDatabase('old_name', 'new_name'); // 使用旧的 use old_name // 删除旧的 db.drop ...

  6. SQL数据库修改数据库名称

    Use master EXEC sp_dboption 'DBNAME_OLD', 'Single User', 'TRUE' EXEC sp_renamedb 'DBNAME_OLD', 'DBNA ...

  7. linux中修改字符编码

    一. ubuntu修改字符编码 1. 添加字符编码,例如zh_CN.UTF-8,有两种方式 方法1:locale-gen zh_CN.UTF-8   #locale-gen命令只在ubuntu中才有 ...

  8. MySQL数据库修改字段编码

    把数据库表的字段编码改成utf8mb4(utf8mb4可以存储乱码.emoji等复杂字符) ALTER TABLE `表名` MODIFY COLUMN `字段名` VARCHAR(100) CHAR ...

  9. linux批量修改 文件名编码,linux下批量修改文件名

    linux下批量修改文件名 0.问题来源,想把一部分文件加上日期序.也就是在文件名称前加上当前的年月日进行输出. 获取日期格式如下 Zianed@ubuntu:~/public_web_sSmO9OU ...

最新文章

  1. 操作VR界面仅需眼神,Eyefluence眼控技术解放你的双手
  2. Google Chrome 调试JS利器
  3. 删除json中的指定元素_DeleteFile,VBA中借助Windows Scripting Host删除指定文件
  4. VirtualBox使用技巧
  5. Hadoop报错AccessControlException: Permission denied: user=vincent, access=WRITE, inode=/:iie4bu:supe
  6. 【Linux系统编程】进程替换:exec 函数族
  7. Kubernetes系列之Helm介绍篇
  8. 二级导航 sql php,帝国cms栏目导航调用之SQL语句调用一级栏目和二级栏目的方法...
  9. rsoft透射谱_基于Rsoft软件光纤光栅的仿真模拟
  10. [原]简述Field,Attribute,Property的区别
  11. 删掉centos原有的openjdk并安装sun jdk
  12. 贝叶斯网的R实现( Bayesian networks in R)bnlearn(4)
  13. 常见的浏览器兼容性问题大汇总
  14. 暗通道去雾算法的python实现
  15. 通过 微软 pai-fs 上传数据到HDFS (Microsoft OpenPAI)
  16. EasyConnect下载-百度云盘
  17. java实现通讯录(手机版)
  18. (转)浅谈拉布拉多中值定理
  19. 错题集:Censored!
  20. SQL Server 数据库之常量

热门文章

  1. U盘文件乱码最新修复方法
  2. Makefile学习笔记06|编译动态链接库
  3. MongoTemplate联表查询
  4. gorm联表查询-实战
  5. [bzoj4373]算术天才⑨与等差数列
  6. 如何验证姓名和ID是否匹配?
  7. CA system.
  8. 笔记--抓取王者荣耀盒子图片视频
  9. 有点突然,锤子就这样终结了!而创始人在隔壁直播卖着红米...
  10. 通过SFTP上传文件到另外服务器上面,