本篇主要介紹關(guān)于mysql的一些非?;A(chǔ)的知識(shí),為后面的sql優(yōu)化做準(zhǔn)備。
一:連接mysql
關(guān)于mysql的下載和安裝我在這里就不說(shuō)了,第一步我們要連接我們的mysql服務(wù)器,打開cmd命令切換到你安裝MySQL Server 的bin目錄下,然后輸入mysql -h localhost -u root -p
其中-h 表示你的主機(jī)地址(本機(jī)就是localhost,記住不要帶端口號(hào)) -u 就是連接數(shù)據(jù)庫(kù)名稱 -p就是連接密碼。出現(xiàn)以下圖就表示連接成功了
二:常用的sql語(yǔ)句
2.1:創(chuàng)建數(shù)據(jù)庫(kù) create database 數(shù)據(jù)庫(kù)名
2.2:刪除數(shù)據(jù)庫(kù) drop database 數(shù)據(jù)庫(kù)名
2.3:查詢系統(tǒng)中的數(shù)據(jù)庫(kù) show databases
2.4:使用數(shù)據(jù)庫(kù) use 數(shù)據(jù)庫(kù)名
2.5:查詢數(shù)據(jù)庫(kù)的表 show tables
2.6:查詢表結(jié)構(gòu) desc +表名
2.7:查詢創(chuàng)建表的sql語(yǔ)句 show create table +表名
2.8:刪除表 drop +表名
2.9:一次刪除多條表記錄:delete t1,t2 from t1,t2[where 條件] 如果from后面用別名那么delete后面也需要用別名
3.0:一次性更新多次表update t1,t2 ...tn set t1.field=expr1,tn.exprn=exprn;
三:查詢
3.1:select普通查詢
在這里我創(chuàng)建了一個(gè)數(shù)據(jù)放了2個(gè)表,看下圖
order by后面跟字段(order by只寫一次即可先排第一個(gè)字段然后第二個(gè)以此類推,limit 后面第一個(gè)數(shù)是索性,第二個(gè)是輸出的個(gè)數(shù))。
四:聚合操作
很多情況下,用戶都需要進(jìn)行一些統(tǒng)計(jì),比如統(tǒng)計(jì)整個(gè)公司的人數(shù)或者部門的人數(shù),這時(shí)就會(huì)用到聚合操作。聚合操作語(yǔ)法入戲下
select 【field1,field2...fieldn】fun_name from 表名
where 條件
group by field1,field2...fieldn
with rollup
having 條件
fun_name叫做聚合函數(shù)或者聚合操作,常見(jiàn)的有sum(求和)、 count(*)記錄數(shù)、 max(最大值)、min(最小值)。
group by 表示要分類聚合的字段,比如按照部門分類統(tǒng)計(jì)的員工數(shù)量,部門就應(yīng)該寫在group by后面
with rollup 是可選語(yǔ)法,表示是否對(duì)分類聚合后的結(jié)合在進(jìn)行匯總
having 表示對(duì)分類后的結(jié)果在次進(jìn)行篩選
4.1:按照課程號(hào)進(jìn)行統(tǒng)計(jì)班級(jí)的人數(shù)