欢迎光临
我们一直在努力

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

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

一、修改数据库编码

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

2.查看数据库编码

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

show VARIABLES like 'character%';

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

4.修改配置文件

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

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

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

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

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

创建数据库

1.创建数据库
create database kb02;

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

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

4.热备份导出

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

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

5.导入文件

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

操作数据库

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;

exist()

3.查询姓名(张,李)

模糊查询:

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

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

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

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

三种方法:

4.1.1 模糊查询

4.1.1 模糊查询

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

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。