day 04 數(shù)據(jù)查詢語言

day 04 DQL數(shù)據(jù)庫查詢語言

上集回顧:

  1. create table like 只能復(fù)制表結(jié)構(gòu),那有什么命令可以連數(shù)據(jù)一起復(fù)制?

(1) 方法一:
create table stu select * from student;
主鍵等特性沒有被復(fù)制.

(2) 方法二:
create table st like student;
insert into st select * from student

  1. pt 索引章節(jié)之后
    pt-archivher
    pt-osc

  2. 主鍵是干什么用的
    (1) 約束 : unique not null
    (2) 聚簇索引索引: 組織和存儲數(shù)據(jù).
    (3) 加速查詢

  3. update 和 delete 范圍操作

update t1 set xname='王二麻子' where xname like '王二%'
delete from t1 where xname like '王二%';
delete from t1 where xid >1 and xid <5 ;
delete from t1 where xid between 1 and 5 ;

===========================================
DQL 數(shù)據(jù)查詢語言. ---oldguo

  1. SELECT
    1.1 SELECT 單獨使用 ***

(1) 查詢數(shù)據(jù)庫的參數(shù).

SELECT @@port;
SELECT @@datadir;
SELECT @@basedir;
SELECT @@innodb_flush_log_at_trx_commit;
SHOW VARIABLES LIKE '%trx%';

(2) 調(diào)用內(nèi)置函數(shù).
USE oldguo
SELECT DATABASE();
SELECT NOW();
SELECT CONCAT(USER,"@",HOST) FROM mysql.user;
SELECT GROUP_CONCAT(xid) FROM student;
SELECT SUM(xid) FROM student;

(3) 簡易計算器
SELECT 4*5;

-- 1.2 select 配合其他子句使用 *****
-- 1.2.1 子句列表介紹
FROM -- 查詢對象(表,視圖)
WHERE -- 過濾子句(grep)
GROUP BY -- 分組子句(統(tǒng)計分析類)

HAVING -- 后過濾子句

ORDER BY -- 排序子句

LIMIT -- 限制子句(分頁子句)

-- 1.2.2 配合FROM應(yīng)用
-- world 模板庫介紹
--- 英文單詞介紹
--- city -- 城市
--- id -- 序號ID主鍵
--- NAME -- 城市名
--- Countrycode -- 國家代碼(CHN,USA,JPN)
--- District -- 省,州
--- Population -- 城市人口數(shù)

-- 例子:
-- 1.查詢表中所有數(shù)據(jù)(cat)
SELECT * FROM city;
-- 2. 查詢name和population信息 (awk取列)
SELECT NAME,population FROM city;

-- 1.2.3 select+ from + where(grep)使用
-- where 配合等值查詢
-- 例子:
-- 1. 查詢中國所有的城市信息
SELECT * FROM city
WHERE countrycode='CHN';
-- 2. 查詢ID為100的城市信息
SELECT * FROM city
WHERE id=100;
-- 3. 查詢 中國河北省的城市信息
SELECT * FROM city
WHERE countrycode='CHN' AND district='hebei' ;

-- 4. 查詢 中國或者美國的城市
SELECT * FROM city
WHERE countrycode='CHN' OR countrycode='USA';
或者:
SELECT * FROM city
WHERE countrycode IN ('CHN','USA');
或者:
SELECT * FROM city
WHERE countrycode='CHN'
UNION ALL
SELECT * FROM city
WHERE countrycode='USA' ;

-- where 配合范圍查詢

-- 例子 :
-- 1. 查詢?nèi)丝跀?shù)量小于100人的城市
SELECT * FROM city
WHERE population<100;
-- 2. 查詢?nèi)丝跀?shù)量100w-200w之間的
SELECT * FROM city
WHERE population>=1000000 AND population<=2000000 ;

或者:
SELECT * FROM city
WHERE population BETWEEN 1000000 AND 2000000 ;

-- 3. 查詢國家代號是CH開頭的城市信息
SELECT * FROM city
WHERE countrycode LIKE 'CH%';

-- 1.2.4 group by 分組子句+聚合函數(shù)應(yīng)用
-- 聚合函數(shù)?
COUNT() -- 計數(shù)
SUM() -- 求和
AVG() -- 求平均值
MAX() -- 求最大值
MIN() -- 最小值
GROUP_CONCAT() -- 聚合列值

-- 結(jié)果集顯示特點: 必須是1v1,不能是1vN
-- 例子 :
-- 1. 統(tǒng)計一下每個國家的人口總數(shù)
SELECT countrycode,SUM(population)
FROM city
GROUP BY countrycode;

-- 2. 統(tǒng)計中國每個省的人口總數(shù)
SELECT district,SUM(population) FROM city
WHERE countrycode='CHN'
GROUP BY district;

-- 3. 統(tǒng)計下中國每個省的城市個數(shù)及城市名.
SELECT district,COUNT(NAME),GROUP_CONCAT(NAME) FROM city
WHERE countrycode='CHN'
GROUP BY district;

-- 4. 統(tǒng)計每個國家城市個數(shù)
SELECT countrycode ,COUNT(NAME) FROM city
GROUP BY countrycode;

-- 1.2.6 having 后判斷

-- 1. 統(tǒng)計中國每個省的人口總數(shù),只顯示總?cè)丝跀?shù)大于500w的省信息.
SELECT district,SUM(population) FROM city
WHERE countrycode='CHN'
GROUP BY district
HAVING SUM(population) >=5000000;

-- 1.2.7 order by 排序子句

-- 例子:
-- 1. 查詢中國所有城市信息,人口數(shù)從大到小排序輸出.
SELECT * FROM city
WHERE countrycode='CHN'
ORDER BY population DESC ;

-- 2. 查詢中國所有城市信息,按城市名排序.
SELECT * FROM city
WHERE countrycode='CHN'
ORDER BY NAME;

-- 3. 查詢中國所有省的總?cè)丝?并按總?cè)丝跀?shù)從大到小排序輸出.

SELECT district,SUM(population) FROM city
WHERE countrycode='CHN'
GROUP BY district
ORDER BY SUM(population) DESC;

-- 1.2.8 limit 分頁限制子句
-- 查詢中國所有省的總?cè)丝?并按總?cè)丝跀?shù)從大到小排序輸出.

SELECT district,SUM(population) FROM city
WHERE countrycode='CHN'
GROUP BY district
ORDER BY SUM(population) DESC
LIMIT 5 OFFSET 1;

SELECT district,SUM(population) FROM city
WHERE countrycode='CHN'
GROUP BY district
ORDER BY SUM(population) DESC
LIMIT 10;

SELECT district,SUM(population) FROM city
WHERE countrycode='CHN'
GROUP BY district
ORDER BY SUM(population) DESC
LIMIT 1,5;

注意: LIMIT 謹慎使用, 500w+的表.
LIMIT 5000000,100
一般會改為明確查找范圍

limit >xxxx and < xxxx;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末公给,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖以舒,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件在张,死亡現(xiàn)場離奇詭異,居然都是意外死亡脸甘,警方通過查閱死者的電腦和手機阶牍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門喷面,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人走孽,你說我怎么就攤上這事惧辈。” “怎么了磕瓷?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵盒齿,是天一觀的道長。 經(jīng)常有香客問我困食,道長边翁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任硕盹,我火速辦了婚禮符匾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘莱睁。我一直安慰自己待讳,他們只是感情好,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布仰剿。 她就那樣靜靜地躺著,像睡著了一般痴晦。 火紅的嫁衣襯著肌膚如雪南吮。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天誊酌,我揣著相機與錄音部凑,去河邊找鬼露乏。 笑死,一個胖子當著我的面吹牛涂邀,可吹牛的內(nèi)容都是我干的瘟仿。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼比勉,長吁一口氣:“原來是場噩夢啊……” “哼劳较!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起浩聋,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤观蜗,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后衣洁,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體墓捻,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年坊夫,在試婚紗的時候發(fā)現(xiàn)自己被綠了砖第。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡环凿,死狀恐怖厂画,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情拷邢,我是刑警寧澤袱院,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站瞭稼,受9級特大地震影響忽洛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜环肘,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一欲虚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧悔雹,春花似錦复哆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至益涧,卻和暖如春锈锤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工久免, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留浅辙,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓阎姥,卻偏偏與公主長得像记舆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子呼巴,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容