SQL基本語法入門 看這里就夠了

SQL執(zhí)行順序

第一步:執(zhí)行FROM

第二步:WHERE條件過濾

第三步:GROUP BY 分組

第四步:執(zhí)行SELECT 投影列

第五步:HAVING條件過濾

第六步:執(zhí)行ORDER BY排序

一、創(chuàng)建、刪除庫

-- 創(chuàng)建新數(shù)據(jù)庫

CREATE DATABASE 數(shù)據(jù)庫名;

-- 刪除數(shù)據(jù)庫

DROP DATABASE 數(shù)據(jù)庫名;

二滔迈、增加

1舷嗡、添加列名吐辙、設(shè)置主鍵蜀备、設(shè)置自動增長列

primary key表示當(dāng)前列為主鍵列,不能重復(fù)荠卷,不能為空

out_increment表示當(dāng)前列為自動增長列列林,由DBMS分配該列的值瑞你,可以保證不重復(fù)

CREATE TABLE t_user(

? ? id INT PRIMARY KEY AUTO_INCREMENT, -- 編號

? ? userName VARCHAR(20),-- 用戶名

? ? birthday DATE,-- 生日

? ? tel CHAR(11),-- 電話

? ? -- 枚舉類型,該列的值只能取男和女

? ? sex ENUM('男','女'),

? ? -- 性別 -- 最后一列不能加“希痴,”者甲。

? ? money INT -- 賬戶余額

);

2.添加行(新增記錄)

①如果添加多條信息,中間用","分割砌创。VALUES只用寫一次虏缸,寫在表頭和表值之間。

②如果列名和列的值不寫嫩实,則默認添加為空(null)刽辙,如果數(shù)據(jù)庫設(shè)計時存在默認值,則為添加默認值甲献≡诅停——2019/11/09更新,感謝評論糾正晃洒。

INSERT INTO t_user(表頭1慨灭,表頭2) values(值1,值2)球及;

例如:

INSERT INTO t_user(userName,pwd,birthday,tel,sex,money)

VALUES ('張無忌','123','1980-05-09','13948577789','男',2000);

例如:

INSERT INTO t_student(userName,pwd,birthday,tel,sex)

VALUES('張勇','111','1998-01-01','13112341234','男');

3.添加列(維護常用)

-- t_student:表名氧骤;address:表頭。

ALTER TABLE t_student ADD address VARCHAR(50);

三吃引、刪除

1.刪除表

-- t_user:表名

DROP TABLE t_user;

2.刪除列

-- t_student:表名筹陵;userAddress:列名

ALTER TABLE t_student DROP COLUMN userAddress;

3.刪除行(記錄)

-- 如果不加where 后面的條件則全部刪除。

DELETE FROM t_user WHERE id=2;

四际歼、修改

1、修改列

修改列的值必須與修改后的類型相符姑蓝,如果修改列的值為null鹅心,則可以改為任意類型。如果修改列的值類型為varchar纺荧,最長為20旭愧,則修改后的類型必須為char類型颅筋,長度不能低于20。

ALTER TABLE t_student CHANGE address userAddress VARCHAR(100);

2输枯、修改值

UPDATE t_product SET 修改列名=修改后新值 WHERE id=1;

-- 修改议泵,將張無忌的密碼修改為333,工資修改為2500

UPDATE t_user SET pwd='333',money='2500' WHERE userName='張無忌';

五桃熄、查詢

1先口、查詢表中所有數(shù)據(jù)

?*表示顯示所有的列,也可以指定顯示列的列表瞳收,中間用","分割碉京。

SELECT * FROM t_user;

-- 例如(顯示姓名和工資列):

select userName,money from t_user

2、查詢返回限定行

第一個參數(shù)為起始記錄數(shù)螟深,從0開始谐宙,第二個參數(shù)為顯示記錄數(shù)

-- MySQL語法

SELECT * FROM t_student LIMIT 0,3;

3、查詢空值null

null不能用=界弧,只能用is null 或 is not null

SELECT *FROM t_student WHERE money IS NULL;

4凡蜻、查詢多條信息(or/in)

-- 查詢張三和李四的信息

SELECT * FROM t_student WHERE userName='張三' OR userName='李四';

SELECT * FROM t_student WHERE userName IN('張三','李四');

5、模糊查詢(_或%)

-- 查詢姓李的二個字的員工

SELECT * FROM t_student WHERE userName LIKE '李_';

-- 查詢出所有商品名包括“糕”的商品的信息

SELECT * FROM t_product WHERE productName LIKE '%糕%';

6垢箕、查詢多條件+顯示部分(LIMIT)

-- 查詢前5條價格在100-1000的酒類商品 (MySQL語法)

SELECT * FROM t_product WHERE productType='酒類' AND price>=100 AND price<=1000 LIMIT 0,5 ;

7划栓、查詢?nèi)コ貜?fù)的類名(distinct)

-- 查詢所有的性別,distinct 表示去除重復(fù)記錄

SELECT DISTINCT sex FROM t_student;

8舰讹、查詢排序顯示(ORDER BY)

-- 按員工工資排序茅姜,默認為升序ASC,降序需要加上DESC月匣。

-- 工資相同钻洒,按年齡大小排序。

SELECT * FROM t_student ORDER BY money DESC,birthday;

9锄开、查詢當(dāng)前日期

select curdate() from 表名

六素标、判斷語句

1、單分支條件判斷

if(條件萍悴,返回值1头遭,返回值2)

-- 例如:

select s.*,if(grade>=60,'合格','不合格')appraise from t_students;

2、多分支條件判斷

(case

when 條件1 then 返回值1

when 條件2 then 返回值2

else 返回值3 END)

-- 例子1(選擇顯示):

SELECT p.*,(CASE

? ? ? ? ? ? WHEN money<5000 THEN '低薪階層'

? ? ? ? ? ? WHEN money>=5000 AND money<=10000 THEN '中薪階層'

? ? ? ? ? ? WHEN money>10000 THEN '高薪階層'

? ? ? ? ? ? ELSE '實習(xí)生' END) grade FROM t_student p;

-- 例子2(選擇添加):

UPDATE t_product SET price =price+(CASE

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? WHEN productType='藥品類' THEN 5

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? WHEN productType='食品類' THEN 2

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? WHEN productType='酒類' THEN 100 END);

七癣诱、聚合函數(shù)的運用

-- 學(xué)生成績表

CREATE TABLE t_grade(

? ? id INT PRIMARY KEY AUTO_INCREMENT,-- id 主鍵

? ? sname VARCHAR(20),-- 學(xué)生姓名

? ? sex ENUM('男','女'),-- 學(xué)生性別

? ? className VARCHAR(20),-- 學(xué)生班級

? ? grade INT -- 學(xué)生成績

);

a.統(tǒng)計學(xué)生的人數(shù)

-- count(*)只要是記錄都要統(tǒng)計计维。count(列名)只統(tǒng)計非空列。

SELECT COUNT(*) '學(xué)生總?cè)藬?shù)', COUNT(grade)'參考人數(shù)' FROM t_grade;

b.統(tǒng)計學(xué)生的總分撕予、平均分鲫惶、最高分、最低分

-- avg求平均分实抡,也只統(tǒng)計非空列

SELECT SUM(grade) ,AVG(grade),SUM(grade)/COUNT(*), MAX(grade),MIN(grade) FROM t_grade

c.統(tǒng)計每個班的人數(shù)

SELECT className,COUNT(*) num FROM t_grade GROUP BY className;

d.統(tǒng)計每個班的總分和平均分

SELECT className,SUM(grade)'總分',SUM(grade)/COUNT(*) '平均分' FROM t_grade GROUP BY className;

八欠母、having運用

-- 列出班級人數(shù)小于等于3個人的班級

SELECT className,COUNT(*) FROM t_grade GROUP BY className HAVING COUNT(*)<=3;

-- 列出班級總分大于300分的班級

SELECT className,SUM(grade) FROM t_grade GROUP BY className HAVING SUM(grade)>300;

九欢策、復(fù)制表

create table 新表名 select * from 原表名;

十、where與if條件連用

WHERE ?IF(條件, ?true執(zhí)行條件, false執(zhí)行條件 )

select * from sys_user where if(id<10,name='zhangsan',name='lisi')

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末赏淌,一起剝皮案震驚了整個濱河市踩寇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌六水,老刑警劉巖俺孙,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異缩擂,居然都是意外死亡鼠冕,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門胯盯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來懈费,“玉大人,你說我怎么就攤上這事博脑≡饕遥” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵叉趣,是天一觀的道長泞边。 經(jīng)常有香客問我,道長疗杉,這世上最難降的妖魔是什么阵谚? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮烟具,結(jié)果婚禮上梢什,老公的妹妹穿的比我還像新娘。我一直安慰自己朝聋,他們只是感情好嗡午,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著冀痕,像睡著了一般荔睹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上言蛇,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天僻他,我揣著相機與錄音,去河邊找鬼腊尚。 笑死吨拗,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播丢胚,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼受扳!你這毒婦竟也來了携龟?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤勘高,失蹤者是張志新(化名)和其女友劉穎峡蟋,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體华望,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡蕊蝗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了赖舟。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蓬戚。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖宾抓,靈堂內(nèi)的尸體忽然破棺而出子漩,到底是詐尸還是另有隱情,我是刑警寧澤石洗,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布幢泼,位于F島的核電站,受9級特大地震影響讲衫,放射性物質(zhì)發(fā)生泄漏缕棵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一涉兽、第九天 我趴在偏房一處隱蔽的房頂上張望招驴。 院中可真熱鬧,春花似錦花椭、人聲如沸忽匈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽丹允。三九已至,卻和暖如春袋倔,著一層夾襖步出監(jiān)牢的瞬間雕蔽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工宾娜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留批狐,地道東北人。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像嚣艇,于是被迫代替她去往敵國和親承冰。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344