linux打开数据库并且查表,LINUX数据库----关于数据清洗

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

一、修改数据库编码

1.先登录数据库

mysql -uroot -proot

a6ba6d63913d1e8452a87aba9cc99e7f.png

2.查看数据库编码

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

show VARIABLES like 'character%';

59593e2981338569dd0fa6621db9ee02.png

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

exit

vi /etc/my.cnf

6c566a1ac059e609ec2883e5ea071700.png

36a5162b073fede2e23efd5dffe88836.png

f1560eb40a9070e6ba8cbfd15fffd18d.png

4.修改配置文件

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

[client]

default-character-set=utf8

[mysqld]

character-set-server=utf8

collation-server=utf8_unicode_ci

7d6e5db6506b75d9d35ffeb34413a10e.png

5.重启数据库服务

systemctl restart mysql.service

0d8f416822c6576079eff9973c2a9453.png

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

mysql -uroot -proot

show VARIABLES like 'character%';

616368a717649dbc619776d5c33e8fb2.png

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

创建数据库

1.创建数据库

create database kb02;

04358db892f76ba46f6922c5b97ed6c4.png

2.创建表

use kb02

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

0b396724a580e40a3250e9618b0db992.png

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

showdatabases;

show tables

2d9ea621713eed89a96c47719acbde5e.png

4.热备份导出

0361fb1f9d7800a95c4be0e854c61093.png

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

exit

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

1151aee521e95e7327f92887d2ba3d5a.png

5.导入文件

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

c011f14bc5d0ca3338039b3f498c0b24.png

操作数据库

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;

e098fdb323995dce512841529b73a795.png

exist()

4fdfadc3f0eaeb7f8168e510ebef3801.png

aae63cf831908c931ae96584bba9cf25.png

3.查询姓名(张,李)

模糊查询:

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

e074222a58d3a64eb91868407e75f76e.png

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

cdde5f77ceff211f5b3a7d4fdb6cda98.png

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

7ffb0f0ef4a747ea39cbb52b394058fc.png

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

4.1 查询1995年出生的人

三种方法:

4.1.1 模糊查询

bc580d063d7b4d93d0d83338b2e09622.png

4.1.1 模糊查询

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

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

37bb68c860165ac857a0b1d36889d212.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值