温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-07-27 09:53:43 来源:网络 阅读:564 作者:wx5d66921cb1eb1 栏目:系统运维

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

一、修改数据库编码

1.先登录数据库
mysql  -uroot -proot

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

2.查看数据库编码

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

show VARIABLES like 'character%';

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

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

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

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

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

4.修改配置文件

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

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

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

5.重启数据库服务
systemctl restart mysql.service

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

6.再次进入数据库并查看数据库编码
mysql -uroot -proot
show VARIABLES like 'character%';

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

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

创建数据库

1.创建数据库
create database kb02;

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

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

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

3.查看新建的数据库和表
showdatabases;
show tables

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

4.热备份导出

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

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

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

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

5.导入文件

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

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

操作数据库

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

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

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

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

exist()

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

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

3.查询姓名(张,李)

模糊查询:

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

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

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

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

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

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

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

三种方法:

4.1.1 模糊查询

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

4.1.1 模糊查询

5.查询姓名出生人数(某一年张 李出生人数)
5.1查询姓l 或者姓w 并且出生在1901-1903的人

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI