LINUX数据库----关于数据清洗
LINUX数据库----关于数据清洗
一、修改数据库编码
1.先登录数据库
MySQL -uroot -proot
创新互联建站是专业的浦口网站建设公司,浦口接单;提供成都网站建设、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行浦口网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
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 模糊查询
5.查询姓名出生人数(某一年张 李出生人数)
5.1查询姓l 或者姓w 并且出生在1901-1903的人
网页标题:LINUX数据库----关于数据清洗
文章来源:http://hbruida.cn/article/pjdjds.html