SQL必知必會(3)--邏輯操作符、通配符、字段的拼接、表的連接 及 數據的增刪改

邏輯操作符

  • AND:連接多個WHERE條件:SELECT name,age,sex FROM `user` WHERE age > 18 AND sex=1;

  • OR:用法同AND。

  • 計算次序:AND在計算中優先級比OR高,所以在進行操作符組合時要注意括號的使用。

  • IN:用來指定條件範圍,範圍內的每個條件都可以進行匹配。例,SELECT name,age,sex FROM `user` WHERE age IN (15,20);

  • NOT:進行條件的否定。例,SELECT name,age,sex FROM `user` WHERE NOT age IN (15,20);(注意NOT的位置)

 

通配符:

  • LIKE:在SQL中使用通配符,必須使用LIKE操作符。

  • %:%表示任何字符出現任意次數。

  • _:下劃線只匹配單個字符,而不是多個字符。

 

拼接字段:

  • 將多個列的返回值拼接在一塊,作爲一列返回。

  • MYSQL中使用CONCAT函數拼接字段,例:SELECT CONCAT(name,':',age) c FROM `user` WHERE age > 10;

  • CONCAT(str1,str2,...)

  • 還可以直接對檢索出的數據執行計算,例:SELECT age*age  FROM `user` WHERE age > 10

 

插入數據:

  • 插入一條數據:INSERT INTO user(name,age,sex,role_id) VALUES('小西',33,2,1);

  • 插入檢索出的數據:INSERT語句與SELECT語句一塊使用,將SELECT返回的結果集作爲插入集。例:INSERT INTO role(id,name) SELECT age,name FROM user;參數屬性及順序都必須一致。列名無所謂。

  • 複製表:CREATE TABLE role1 AS SELECT * FROM role,複製role表到role1表。

 

更新和刪除數據:

  • 更新一條數據:UPDATE user SET age = 15,name='小蘭' WHERE age=16。

  • 更新的多個條件之間使用逗號分隔。

  • 刪除一條語句:DELETE FROM user WHERE age = 15

  • 快速刪除表中所有行:例,刪除role1表中所有數據:TRUNCATE role1。(因爲不記錄數據的變動,所以快)

 

 

表的連接(各種連接的含義)

  • 內部連接(等值連接):INNER JOIN,會輸出兩個表的笛卡爾積,只使用JOIN關鍵詞也會產生笛卡爾積。

  • 自連接:即自己連接自己

  • 自然連接:排除多次出現,使每個列只返回一次。系統不會實現,由自己實現。

  • 外部連接:

    • 左外連接(LEFT JOIN),右外連接(RIGHT JOIN),全外連接(FULL JOIN)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章