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 模糊查詢