更新數據(限制記錄數)
舉例說明;UPDATE my_copy SET NAME='32' WHERE 1 = 1 LIMIT 3
只更新一部分,頭幾名啊這些的
刪除數據【限制記錄數】
清空表,重置自增長
Tips:自增長又從1開始
Truncate 表名 。--表被刪除後,又重新創建。從而達到清空表,重置自增長
TRUNCATE my_copy
查詢數據
字段別名
數據源
單表查詢:select * from 表名
多表查詢:select * from 表1 ,表2 where 表1.id = 表2.id
子查詢:select * from (select 字段 from 表) as 別名 -- 必須加上別名,否則報錯。
這個別名相當於表名,裡面的數據是子查詢查詢出來的數據 , 即select * from 別名;
Where子句(直接從磁盤獲取數據時就進行判斷的條件)
Group by(意義是為了統計數據)
注意:分組會自動排序,他會根據group by 字段 中的字段 進行升序排序!
Select * from 表名 group by 字段1, 字段2.
–先根據字段1排序,然後在根據字段2排序!
Group_concat(字段名稱)
舉例: SELECT GROUP_CONCAT(`name`) FROM my_primary GROUP BY sex;
所有性別為男的放在一組,名字以逗號分開;女的也是!
回溯統計
多字段分組統計
按照班級,性別排序
(1)、先按照班級,然後性別,成為第一組
(2)、統計一班的女生,然後是男生,沒有男生,所以不統計男生的,所以統計為全女生
(3)、統計二班的女生,然後統計二班的男生,然後統計二班的總人數
。。。。。。。
(end)最後統計所有班級的所有人數
Having 子句
與where子句一樣,也是進行條件判斷
1、
因為where是在磁盤讀出數據到內存時就判斷了,而having是在內存中才進行處理的。所以,統計的話,那必須是數據都讀取出來了,都在內存了,所以此時可以用統計函數了。
Select 字段 as 別名 from 表名 group by 字段2 having 別名 = ‘值’
舉例:SELECT `name`, `sex` AS '性別' FROM my_primary GROUP BY sex HAVING 性別='男'
Order by 子句
多字段排序: Order by 字段1 [desc / asc], 字段2 [desc / asc]
Limit子句
1. 限制長度(數據量)
Select * from 表 limit 3;
2. 限制起始位置,數量 : limit x,y
Select * from 表 limit 2,5 --一般用於分頁