數據庫學習筆記(五丶基本查詢)

表的增刪改查:
Create, Retrieve,Update,Delete
1.Create

面試

INSERT [INTO] table_name 
 [(column [, column] ...)] 
 VALUES (value_list) [, (value_list)] ... 
 value_list: value, [, value] ...

因爲主鍵或者惟一鍵對應的值已經存在而致使插入失敗時,能夠選擇性的進行同步更新操做。數據庫

INSERT ... ON DUPLICATE KEY UPDATE 
column = value [, column = value] ...

2.Retrieveide

SELECT
          [DISTINCT] {* | {column [, column] ...} 
          [FROM table_name] 
          [WHERE ...] 
          [ORDER BY column [ASC | DESC], ...] 
LIMIT ...

爲查詢結構制定別名:函數

SELECT column [AS] alias_name [...] FROM table_name;

where條件
數據庫學習筆記(五丶基本查詢)
數據庫學習筆記(五丶基本查詢)
注:別名不能在where條件中使用。
結果排序
ASC 爲升序(從小到大),DESC 爲降序(從大到小),不設置默認爲 ASC。




學習

SELECT ... FROM table_name [WHERE ...] 
         ORDER BY column [ASC|DESC], [...];

注:沒有 ORDER BY 子句的查詢,返回的順序是未定義的,永遠不要依賴這個順序。
注:ORDER BY語句中能夠使用列的別名。
篩選分頁結果
起始下標爲 0
-- 從 0 開始,篩選 n 條結果



code

SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n;

-- 從 s 開始,篩選 n 條結果 blog

SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT s, n;

-- 從 s 開始,篩選 n 條結果,比第二種用法更明確,建議使用 排序

SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n OFFSET n;

注:對未知表進行查詢時,最好加一條 LIMIT 1,避免由於表中數據過大,查詢全表數據致使數據庫卡死。
3.Update
同步

UPDATE table_name SET column = expr [, column = expr ...] 
       [WHERE ...] [ORDER BY ...] [LIMIT ...]

4.Delete
1)刪除數據
it

DELETE FROM table_name [WHERE ...] [ORDER BY ...] [LIMIT ...]

2)截斷表

TRUNCATE [TABLE] table_name

注:這個操做慎用

  1. 只能對整表操做,不能像 DELETE 同樣針對部分數據操做;
  2. 實際上 MySQL 不對數據操做,因此比 DELETE 更快
  3. 會重置 AUTOINCREMENT 項
    5.插入查詢結果
    INSERT INTO table_name [(column [, column ...])] SELECT ...

    6.聚合函數
    數據庫學習筆記(五丶基本查詢)
    7.group by子句的使用
    在select中使用group by 子句能夠對指定列進行分組查詢


    select column1, column2, .. from table group by column;

    面試題:

    SQL查詢中各個關鍵字的執行前後順序?答:from > on> join > where > group by > with > having >select > distinct > order by > limit

相關文章
相關標籤/搜索