sql筆記

select系列

1、where用法示例:

SELECT * FROM Websites WHERE country='CN';查詢表中cuuntry為‘CN’的數(shù)據(jù)燎悍,如字段為數(shù)字无牵,不加""

1.1拗馒、同時(shí)滿足兩個(gè)條件:

Select * from emp where sal > 2000 and sal < 3000;關(guān)鍵字 and

1.2冗茸、滿足兩個(gè)條件中的一個(gè)既為通過:

Select * from emp where sal > 2000 or comm > 500;關(guān)鍵字 or

1.3崖飘、查詢不滿足改條件的數(shù)據(jù):select * from emp where not sal > 1500;關(guān)鍵字 not

1.4榴捡、三個(gè)關(guān)鍵字判斷的優(yōu)先級(jí)為not>and>or

and與or結(jié)合:
"Websites" 表中選取 alexa 排名大于 "15" 且國家為 "CN" 或 "USA" 的所有網(wǎng)站示例:
SELECT * FROM Websites WHERE alexa > 15 AND (country='CN' OR country='USA');

特殊判斷:

1.5、查詢?yōu)榭盏臄?shù)據(jù):

Select * from emp where comm is null;關(guān)鍵字is null

1.6朱浴、查詢一個(gè)區(qū)間的數(shù)據(jù):

Select * from emp where sal between 1500 and 3000;關(guān)鍵字 between and

注意:取值的下限(小值)在前吊圾,下限(大值)在后,且包含該值

1.7翰蠢、查詢表中有存在于in后列表中的數(shù)據(jù):

Select * from emp where sal in (5000,3000,1500);關(guān)鍵字:in项乒,來自于,顯示表中存在in關(guān)鍵字之后的數(shù)據(jù)

1.8梁沧、模糊查詢以M為開頭的所有數(shù)據(jù):

Select * from emp where ename like 'M%';

關(guān)鍵字:{
‘%:表示多個(gè)值檀何,_:表示一個(gè)字符’,
‘M%:表示查詢以M開頭的數(shù)據(jù)’廷支,
‘%M%:表示查詢包含M的所有數(shù)據(jù)’频鉴,
‘%M:表示查詢所有以M結(jié)尾的數(shù)據(jù)’,
}

1.9恋拍、不帶比較運(yùn)算符的where語句垛孔,當(dāng)不帶運(yùn)算符時(shí),會(huì)執(zhí)行一個(gè)隱式轉(zhuǎn)換施敢。當(dāng) 0 時(shí)轉(zhuǎn)化為 false周荐,1 轉(zhuǎn)化為 true。

如:
SELECT studentNO FROM student WHERE 0悯姊。返回一個(gè)空值羡藐,因每一行記錄都返回FLASE
SELECT studentNO FROM student WHERE 1。返回該表中所有的數(shù)據(jù)悯许,因?yàn)槊恳恍械膚here都返回一個(gè)TRUE```

2仆嗦、其他特殊關(guān)鍵字:

2.1、去掉該列的重復(fù)的值:

SELECT DISTINCT country FROM Websites;關(guān)鍵字 distinct

2.2先壕、order by 對(duì)結(jié)果一個(gè)列或多個(gè)進(jìn)行排序瘩扼,默認(rèn)升序,desc裝換為倒敘

示例1垃僚、

SELECT * FROM Websites ORDER BY alexa; 查詢所有數(shù)據(jù)集绰,并按照alexa排序,ascall碼

示例2谆棺、

SELECT * FROM Websites ORDER BY alexa DESC;查詢所有數(shù)據(jù)栽燕,并按照alexa進(jìn)行降序排序

示例3罕袋、

SELECT * FROM Websites ORDER BY country,alexa;查詢所有數(shù)據(jù),并按照country與alexa列進(jìn)行降序排序

示例4碍岔、

SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC

以逆字母順序顯示公司名稱浴讯,并以數(shù)字順序顯示順序號(hào)
order by A,B 這個(gè)時(shí)候都是默認(rèn)按升序排列
order by A desc,B 這個(gè)時(shí)候 A 降序,B 升序排列
order by A ,B desc 這個(gè)時(shí)候 A 升序蔼啦,B 降序排列

update更新語句:

1榆纽、查詢name為‘inter’的 alexa 排名更新為 5000,country 改為 USA捏肢。
UPDATE Websites SET alexa='5000', country='USA' WHERE name='inter';set關(guān)鍵字奈籽,

注意:執(zhí)行語句省略where時(shí) UPDATE Websites SET alexa='5000', country='USA'
會(huì)把表中所有數(shù)據(jù)改為:slexa='5000',country=‘USA’
如:在 MySQL 中可以通過設(shè)置 sql_safe_updates 這個(gè)自帶的參數(shù)來解決,當(dāng)該參數(shù)開啟的情況下鸵赫,
必須在update 語句后攜帶 where 條件衣屏,否則就會(huì)報(bào)錯(cuò)。

delete刪除語句:

1辩棒、從 "Websites" 表中刪除網(wǎng)站名為 "百度" 且國家為 CN 的網(wǎng)站 勾拉。

DELETE FROM Websites WHERE name='百度' AND country='CN';

2、刪除表中所有數(shù)據(jù):

DELETE FROM table_name;

3盗温、sql中關(guān)于刪除的三個(gè)語句:DROP、TRUNCATE成肘、 DELETE 的區(qū)別卖局。

drop test 指刪除該表的所有數(shù)據(jù)及其結(jié)構(gòu)
truncate test 指刪除該表的數(shù)據(jù),保留表結(jié)構(gòu)
delete 刪除指定的數(shù)據(jù):delete from test where age=30 and country='US'

相同點(diǎn):drop双霍、delete砚偶、truncate 都是刪除表的內(nèi)容。
不同點(diǎn):
delete:刪除表的內(nèi)容洒闸,表的結(jié)構(gòu)還存在染坯,不釋放空間,可以回滾恢復(fù)丘逸;
drop:刪除表內(nèi)容和結(jié)構(gòu)单鹿,釋放空間,沒有備份表之前要慎用深纲;
truncate:刪除表的內(nèi)容仲锄,表的結(jié)構(gòu)存在,可以釋放空間,沒有備份表之前要慎用湃鹊;

補(bǔ)充:

mysql 中可以通過參數(shù) sql_safe_updates 來限制 update/delete儒喊,防止全表更新或刪除。
以下 3 種情況在采用此參數(shù)的情況下都不能正常進(jìn)行操作:

1: 沒有加where條件的全表更新操作;
2: 加了 where 條件字段币呵,但是 where 字段沒有走索引的表更新;
3: 全表 delete 沒有加 where 條件或者 where 條件沒有走索引怀愧。
這三種情況下都會(huì)拋出異常,無法執(zhí)行。

下面是 sql_safe_updates 變量為 0 和 1 時(shí)的取值說明:

sql_safe_updates 有兩個(gè)取值 0 和 1芯义, 即 off 和 on哈垢。
sql_safe_updates = 1 (或 sql_safe_updates = on ) 時(shí),不帶 where 和 limit 條件的 update 和 delete 操作語句是無法執(zhí)行的毕贼,即使是有 where 和 limit 條件但不帶 key column 限制條件的 update 和 delete 也不能執(zhí)行温赔。sql_safe_updates = 0 (或 sql_safe_updates = off ) 時(shí),無 where 和 limit 條件的 update 和 delete 操作將會(huì)順利執(zhí)行鬼癣。很顯然陶贼,在一般的 mysql 中此參數(shù)的默認(rèn)值是 1。
在 sql_safe_updates = on 時(shí)待秃,采取刪除或更新全表時(shí)拋出的錯(cuò)誤碼為 1175拜秧。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市章郁,隨后出現(xiàn)的幾起案子枉氮,更是在濱河造成了極大的恐慌,老刑警劉巖暖庄,帶你破解...
    沈念sama閱讀 217,826評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件聊替,死亡現(xiàn)場離奇詭異,居然都是意外死亡培廓,警方通過查閱死者的電腦和手機(jī)惹悄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肩钠,“玉大人泣港,你說我怎么就攤上這事〖劢常” “怎么了当纱?”我有些...
    開封第一講書人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長踩窖。 經(jīng)常有香客問我坡氯,道長,這世上最難降的妖魔是什么洋腮? 我笑而不...
    開封第一講書人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任廉沮,我火速辦了婚禮,結(jié)果婚禮上徐矩,老公的妹妹穿的比我還像新娘滞时。我一直安慰自己,他們只是感情好滤灯,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開白布坪稽。 她就那樣靜靜地躺著曼玩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪窒百。 梳的紋絲不亂的頭發(fā)上黍判,一...
    開封第一講書人閱讀 51,482評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音篙梢,去河邊找鬼顷帖。 笑死,一個(gè)胖子當(dāng)著我的面吹牛渤滞,可吹牛的內(nèi)容都是我干的贬墩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼妄呕,長吁一口氣:“原來是場噩夢啊……” “哼陶舞!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起绪励,我...
    開封第一講書人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤肿孵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后疏魏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體停做,經(jīng)...
    沈念sama閱讀 45,608評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評(píng)論 3 336
  • 正文 我和宋清朗相戀三年大莫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了雅宾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,926評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡葵硕,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出贯吓,到底是詐尸還是另有隱情懈凹,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評(píng)論 5 346
  • 正文 年R本政府宣布悄谐,位于F島的核電站介评,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏爬舰。R本人自食惡果不足惜们陆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望情屹。 院中可真熱鬧坪仇,春花似錦、人聲如沸垃你。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至皆刺,卻和暖如春少辣,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背羡蛾。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來泰國打工漓帅, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人痴怨。 一個(gè)月前我還...
    沈念sama閱讀 48,063評(píng)論 3 370
  • 正文 我出身青樓忙干,卻偏偏與公主長得像,于是被迫代替她去往敵國和親腿箩。 傳聞我的和親對(duì)象是個(gè)殘疾皇子豪直,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評(píng)論 2 354

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

  • 一.數(shù)據(jù)庫 1.創(chuàng)建數(shù)據(jù)庫create database [if not exists] db_name [cha...
    PASSssss閱讀 482評(píng)論 0 0
  • sql簡介 sql是用于訪問和處理數(shù)據(jù)庫的標(biāo)準(zhǔn)的結(jié)構(gòu)化查詢語言(Structed Query Language),...
    at小宇閱讀 328評(píng)論 0 1
  • sql語句是數(shù)據(jù)庫很重要的一部分珠移,這篇文章主要記錄了一些基本的sql語法弓乙,包括對(duì)數(shù)據(jù)庫的操作、對(duì)表的增刪改查钧惧、以及...
    devbird閱讀 497評(píng)論 0 3
  • show variables like '%character%'; 查看數(shù)據(jù)庫編碼 SELECT * FROMt...
    你是影流也是劫閱讀 126評(píng)論 0 0
  • 別人的夢想那是別人的夢想暇韧。看到別人成就夢想的同時(shí)無需嫉妒無需苦惱浓瞪,那是別人的夢想懈玻,那是別人花了時(shí)間花了精力得來的結(jié)...
    陳巧_每天都是新的閱讀 156評(píng)論 0 0