Day 1: SQL(2020.03.2)

1. 數(shù)據(jù)分析流程

業(yè)務(wù)理解->數(shù)據(jù)收集->數(shù)據(jù)處理->分析預(yù)測->數(shù)據(jù)展現(xiàn)->成果報(bào)告

2.數(shù)據(jù)庫常用命令

2.1常規(guī)查看

-- 查看系統(tǒng)中有哪些數(shù)據(jù)庫
SHOW DATABASES;

-- 創(chuàng)建cda數(shù)據(jù)庫
CREATE DATABASE 庫名;

-- 選擇進(jìn)入數(shù)據(jù)庫
use 庫名;

-- 刪除數(shù)據(jù)庫(慎用)
-- drop database 庫名;

2.2 Table級別的增刪改

-- 創(chuàng)建數(shù)據(jù)表
CREATE TABLE 表名(
did int(10),
dname VARCHAR(11)  -- varchar必須限制長度
);

-- 查看當(dāng)前數(shù)據(jù)庫中有哪些表
SHOW TABLES;

-- 查看表結(jié)構(gòu)
desc 表名;


-- 刪除數(shù)據(jù)表(慎用)
DROP TABLE 表名;


-- 創(chuàng)建帶有約束條件的表
CREATE TABLE 表名(
deptno int PRIMARY KEY,  -- 主鍵
dname VARCHAR(10),
loc VARCHAR(10)
);
CREATE TABLE employee(
empid int PRIMARY KEY auto_increment,  -- 主鍵+自動(dòng)增長
ename VARCHAR(10) UNIQUE,  -- 聯(lián)合約束
job VARCHAR(10) not NULL,
mgr int,
hiredate date,
sal FLOAT DEFAULT(0),
comm FLOAT,
deptno int ,
FOREIGN KEY(deptno) REFERENCES dept(deptno)
-- 外部約束deptno 依賴于上一個(gè)表dept中的deptno
);

-- 修改表名
ALTER TABLE 已存在表名 RENAME 新表名;

2.3 Table內(nèi)部字段刪改(字段名等價(jià)于列名)

-- 修改字段名
ALTER TABLE 表名 CHANGE 舊字段名 新字段名 元素類型;
DESC 表名;

-- 修改字段類型
ALTER TABLE 表名 MODIFY 字段名 元素類型 約束條件;
  -- 只能改成非空,默認(rèn)峭判,自增林螃。

-- 添加字段
ALTER TABLE 表名 ADD 字段名 元素類型 位置;
  -- 默認(rèn)加在最后一列治宣,first就放在首列

-- 修改字段的排列位置:
ALTER TABLE 表名 MODIFY 字段名 元素類型 AFTER 字段名;


-- 刪除字段
ALTER TABLE 表名  DROP 字段名;

2.4 Table內(nèi)數(shù)據(jù)增刪改


-- 插入數(shù)據(jù):字段名與字段值的數(shù)據(jù)類型侮邀、個(gè)數(shù)绊茧、順序必須一一對應(yīng)
insert into 表名(deptno,dname,loc) values (10,'accounting','new york'),(20,'research','dallas');
insert into 表名 values (30,'sales','chicago'),(40,'operations','boston');
SELECT * FROM 表名;

2.4.1 Mac 下導(dǎo)入數(shù)據(jù)目錄與權(quán)限的更改
1. 首先查看權(quán)限目錄
   在MySQL下輸入: show global variables like '%secure_file_priv%';  -- 顯示有安全權(quán)限的目錄
2. 當(dāng)?shù)玫?secure_file_priv 值為NULL時(shí),說明不允許輸入輸出
  終端輸入: sudo vim /etc/my.cnf  打開my.cnf文件配置
  輸入: [mysqld_safe]
        [mysqld]
        secure_file_priv=""
  然后ESC->:wq->回車 保存
3.重啟MySQL
4.若在導(dǎo)入時(shí)出現(xiàn)權(quán)限問題
 終端: sudo chown -R mysql 文件所在目錄地址
 來打開目錄權(quán)限
-- 批量導(dǎo)入數(shù)據(jù)
load data infile '/Users/pal/MysqlFile/employee.csv' 
into table emp 
fields terminated by ','  -- 可修改分隔符
ignore 1 lines;

show global variables like '%secure_file_priv%';  -- 顯示有安全權(quán)限的目錄

select * from 表名; -- 檢查導(dǎo)入數(shù)據(jù)內(nèi)容
select count(*) from 表名; -- 檢查導(dǎo)入數(shù)據(jù)總行數(shù)

-- 更新數(shù)據(jù)
-- set sql_safe_updates=0; -- 設(shè)置數(shù)據(jù)庫安全權(quán)限,在提示數(shù)據(jù)庫權(quán)限時(shí)用
UPDATE 表名 SET 字段名=2000 WHERE 字段名=7369;
UPDATE 表名 SET 表名=2000;

-- 刪除數(shù)據(jù)
DELETE FROM 表名 WHERE 字段名=20;

-- 清空數(shù)據(jù)
TRUNCATE 表名;

2.5 Table內(nèi)數(shù)據(jù)查找

-- 單表查詢(虛擬結(jié)果集)
SELECT * FROM 表名;

-- 查詢指定列:查詢表中對應(yīng)關(guān)鍵字的列
SELECT 關(guān)鍵字1,關(guān)鍵字2 FROM 表名;

-- 查詢不重復(fù)的數(shù)據(jù):查詢指定表中對應(yīng)關(guān)鍵字
SELECT DISTINCT 關(guān)鍵字1,關(guān)鍵字2 FROM 表名;

-- 條件查詢
-- 查詢條件的所屬列
SELECT * FROM 表名;
SELECT * FROM 表名 WHERE 列名='條件';

-- 查詢10號「部門」和20號「部門」中「工資」低于2000的員工信息
SELECT * FROM 表名 WHERE ('部門 '=10 or '部門' =20) and '工資' <2000;  -- and的優(yōu)先級高于or
SELECT * FROM 表名 WHERE '部門 ' in(10,20) and '工資' <2000;

-- 練習(xí):查詢基本工資大于等于2000小于等于3000的員工信息
SELECT * FROM 表名 WHERE '工資'>=2000 and '工資'<=3000;  -- and的優(yōu)先級高于or

SELECT * FROM 表名 WHERE 工資 BETWEEN 2000 AND 3000;

-- 空值查詢,mac下所有null會(huì)被替換為0
-- 查詢關(guān)鍵字為空的記錄
SELECT * FROM 表名 WHERE 關(guān)鍵字 IS NULL;


-- 查詢關(guān)鍵字不為空的記錄
SELECT * FROM 表名 WHERE 關(guān)鍵字 IS NOT NULL;

-- 查詢每位員工的實(shí)發(fā)工資(基本工資+提成,將指定關(guān)鍵字空值填充為0)
SELECT *,工資+IFNULL(提成,0)FROM 表名;


-- 設(shè)置別名
SELECT *,關(guān)鍵字+IFNULL(關(guān)鍵字,0) as '別名' FROM 表名;

UPDATE 表名 set 關(guān)鍵字=null where 關(guān)鍵字=0;
-- 練習(xí):查詢每位員工的年薪(基本工資*12):empno,ename,年薪
SELECT empno,ename,sal*12 as '年薪' FROM emp;

-- 模糊查詢where...like...
-- 查詢姓名以a開頭的員工信息,%匹配后于所有字符衙传,_匹配一個(gè)
SELECT * FROM 表名 WHERE 關(guān)鍵字 like 'a%';

-- 查詢姓名中包含a的員工信息
SELECT * FROM 表名 WHERE 關(guān)鍵字 like '%a%';

-- 查詢姓名中第二個(gè)字符為a的員工信息
SELECT * FROM 表名 WHERE 關(guān)鍵字 like '_a%';

-- 練習(xí):查詢員工姓名中不包含s的員工信息
SELECT * FROM 表名 WHERE 關(guān)鍵字 NOT like '%s%';

-- 查詢結(jié)果排序
-- 單字段排序:查詢信息按關(guān)鍵字降序(descend)顯示,
SELECT * FROM 表名 ORDER BY 關(guān)鍵字 desc;

-- 多字段排序:查詢信息先按關(guān)鍵字1升序、再關(guān)鍵字2降序顯示
SELECT * FROM 表名 ORDER BY 關(guān)鍵字1,關(guān)鍵字2 desc;

-- 限制查詢結(jié)果數(shù)量
-- 查詢基本工資最高的前5位員工
SELECT * FROM 表名 ORDER BY 關(guān)鍵字 DESC LIMIT 數(shù)量;

-- 查詢基本工資第6到10名的員工,LIMIT(相對首行的偏移量(默認(rèn)為0)俊鱼,返回結(jié)果數(shù)量)
SELECT * FROM 表名 ORDER BY 關(guān)鍵字 DESC LIMIT 5,5;
SELECT * FROM 表名 ORDER BY 關(guān)鍵字DESC LIMIT 5 OFFSET 10; -- OFFSET后加需要的相對首行的偏移量

-- 練習(xí):查詢最后入職的5位員工
SELECT * FROM emp ORDER BY empno DESC LIMIT 5;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末绎速,一起剝皮案震驚了整個(gè)濱河市洒宝,隨后出現(xiàn)的幾起案子萌京,更是在濱河造成了極大的恐慌靠瞎,老刑警劉巖乏盐,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異何吝,居然都是意外死亡爱榕,警方通過查閱死者的電腦和手機(jī)黔酥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進(jìn)店門趴酣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人仗谆,你說我怎么就攤上這事隶垮±晖蹋” “怎么了蹋偏?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵像街,是天一觀的道長镰绎。 經(jīng)常有香客問我跟狱,道長驶臊,這世上最難降的妖魔是什么扛门? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮葬凳,結(jié)果婚禮上劲装,老公的妹妹穿的比我還像新娘占业。我一直安慰自己,他們只是感情好念恍,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布仗考。 她就那樣靜靜地躺著秃嗜,像睡著了一般叽赊。 火紅的嫁衣襯著肌膚如雪必指。 梳的紋絲不亂的頭發(fā)上塔橡,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天泌类,我揣著相機(jī)與錄音弹砚,去河邊找鬼桌吃。 笑死读存,一個(gè)胖子當(dāng)著我的面吹牛敬察,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播椭迎,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼简软,長吁一口氣:“原來是場噩夢啊……” “哼痹升!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起疼蛾,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤肛跌,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后察郁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體衍慎,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年绳锅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了西饵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,102評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鳞芙,死狀恐怖眷柔,靈堂內(nèi)的尸體忽然破棺而出期虾,到底是詐尸還是另有隱情,我是刑警寧澤驯嘱,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布镶苞,位于F島的核電站,受9級特大地震影響鞠评,放射性物質(zhì)發(fā)生泄漏茂蚓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一剃幌、第九天 我趴在偏房一處隱蔽的房頂上張望聋涨。 院中可真熱鬧,春花似錦负乡、人聲如沸牍白。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽茂腥。三九已至,卻和暖如春切省,著一層夾襖步出監(jiān)牢的瞬間最岗,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工朝捆, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留般渡,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓右蹦,卻偏偏與公主長得像诊杆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子何陆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評論 2 355