天天看點

Mysql 從零開始Mysql 介紹Mysql的使用

學習資料庫是需要sql基礎的,一個學習sql的好去處:W3c SQL教程

Mysql 介紹

(占位符)

Mysql的使用

mysql 關鍵字

核心關鍵字

名稱 作用
select 指定需傳回的字段
left/right/inner join on 指定執行多表的左/右/内 連接配接操作
where 指定傳回結果集限制條件(不可協同函數)
group by 指定傳回結果集合并條件
having 指定傳回結果集限制條件(可協同函數)
order by 指定傳回結果集根據什麼排序
limit 指定傳回結果集取值起止位置

  

常用關鍵字

名稱 作用
as 将 as 後的名稱指定為 as 前參數的别名
union 将 union 前後的結果集進行合并
truncate 重置(原理類似删除表然後重建結構相同的表,表自增字段index會重置)
delete 删除(比truncate慢的原因——周遊表并對各記錄删除一次,表自增字段index會保留,指定條件删除部分記錄)
drop 廢棄,删庫和删表用

mysql 關鍵字順序

mysql 的sql語句是需要符合一定規範的,其中之一便是關鍵字的順序,需要注意的是,書寫順序無法決定關鍵字的執行順序。

(栗子:單句sql語句中。select、where序号分别為1、4,是以where隻能書寫在select之後 如: select ……where……;)

書寫順序:

  1. select
  2. from
  3. left/right join on
  4. where
  5. group by
  6. having
  7. order by
  8. limit

(栗子:單句sql語句中。在即使用了where關鍵字又使用了having關鍵字的情況下,where、having序号分别為3、5,是以在語句執行時,先會執行where的條件來過慮傳回的結果集,在一定時間後再執行having的條件來過慮傳回的結果集)

執行順序:

  1. from
  2. left/right join on
  3. where
  4. group by
  5. having
  6. select
  7. order by
  8. limit

mysql 函數

常見函數

類别 含義
count(指定目标) 計算指定目标的個數
avg(指定目标) 計算指定目标的平均值
max(指定目标) 計算指定目标中的最大數
min(指定目标) 計算指定目标中的最小數
abs(指定目标) 計算指定目标中的絕對值

  

更多函數

mysql 指令實操

Mysql指令大全傳送門

mysql 語句實際問題

1.自定排序

表結構

Mysql 從零開始Mysql 介紹Mysql的使用
SELECT
    *
FROM
    massage
WHERE
    mid IN (, , )
           

選擇message表中mid為23、7、2的字段,也許你在期待按23、7、2的順序來顯示三條字段。但結果卻不是,原因是mysql 預設沒寫order by時按主鍵進行預設方式排序(數字類型預設按從小到大,字元串類型預設字典排序,可手工設定)

但如果真想按23、7、2的順序輸出記錄呢?

SELECT
    *
FROM
    massage
WHERE
    mid IN (, , )
ORDER BY field(mId,,,) // field 為資料庫提供的一個函數 filed(“指定目标”,順序……) 
// 此處為 mid 以 23、7、2的順序傳回結果集
           

2.多表查詢時的連接配接文法

MySQL各join文法示例傳送門

3.查詢表屬性

SELECT
    *
FROM
    information_schema. COLUMNS
WHERE
    table_name = '查詢目标表名'
           

執行上述 SQL 會得到表查詢結果集,需要特定結果在 select * 上做處理即可

(占位符)