1.插入數據----INSERT <INTO>mysql
(1)INSERT INTO 表名(字段1,字段2,....) VALUES(值1,值2,....);正則表達式
按照指定的字段插入數據,值要與前面的字段一一對應。sql
(2)INSERT INTO 表名 VALUES(值1,值2,值3,....值n);函數
前面不知地你那個字段,那麼後面就要按照表中字段依次插入數據。post
(3)插入多條數據spa
INSERT INTO 表名 VALUES排序
(值1,值2,值3,....,值n),it
(值1,值2,值3,....,值n),class
(值1,值2,值3,....,值n),基礎
(值1,值2,值3,....,值n);
(4)插入查詢結果
INSERT INTO 表1 (字段1,字段2,字段3,....,字段n)
SELECT T字段1,字段2,字段3,....,字段n FROM 表2 WHERE........;
2.更新(修改)數據-----UPDATE
UPDATE 表 SET 字段1=值1,
字段2=值2
WHERE 條件;
3.刪除數據----DELETE
(1) DELETE FROM 表 WHERE 條件;
#根據條件刪除某一條記錄
(2) DELETE FROM 表 ;
#刪除整個表中數據,可是會保留下id記錄,下次再插入數據時,會從原來的id基礎上繼續添加。
(3) DROP 表;
刪除掉所有的數據與(2)中的刪除不同,這個會刪除掉全部的數據,下次再插入數據時,id會從1開始。
4.查詢
from :找到表:from
where:拿着where指定的約束條件,去文件/表中取出一條條記錄
group by:將取出的一條條記錄進行分組group by,若是沒有group by,則總體做爲一組
having:將分組的結果進行having過濾
select:執行select
distinct:去重
order by:將結果按條件排序:order by
limit:限制結果的顯示條數
SELECT distinct 字段1,字段2... FROM 庫名.表名 #from後面是說從庫的某個表中去找數據,mysql會去找到這個庫對應的文件夾下去找到你表名對應的那個數據文件,找不到就直接報錯了,找到了就繼續後面的操做 WHERE 條件 #從表中找符合條件的數據記錄,where後面跟的是你的查詢條件
GROUP BY field(字段) #分組
HAVING 篩選 #過濾,過濾以後執行select後面的字段篩選,就是說我要肯定一下須要哪一個字段的數據,你查詢的字段數據進行去重,而後在進行下面的操做
ORDER BY field(字段) #將結果按照後面的字段進行排序
LIMIT 限制條數 #將最後的結果加一個限制條數,就是說我要過濾或者說限制查詢出來
5.WHERE約束
(1) 比較運算符: > 、<、>=、<=、<>、!=。
(2) between 值1 and 值2: 取值1和值2範圍內的值。
(3) in (值1,值2,值3,....,值n)
(4) like ‘xxx%’:%能夠放在結尾,也能夠放在開始,表示任意多的字符;
like ’x_’:一個下劃線表明一個字符。
(5) 邏輯運算符:and or not。
6.分組查詢:GROUP BY
(1)分組發生在where以後,是基於where以後獲得的記錄而進行的。
(2)將全部記錄按照某個相同字段進行歸類。
(3)分組是爲了來統計一些數據或者進行一些計算。
(4)xxxxxx GROUP BY 字段;
7.聚合函數
假設employee是職工表,裏面有字段depart_id等。
SELECT COUNT(*) FROM employee; #count是統計個數用的
SELECT COUNT(*) FROM employee WHERE depart_id=1; #後面跟where條件的意思是統計一下知足depart_id=1這個的全部記錄的個數
SELECT MAX(salary) FROM employee; #max()統計分組後每組的最大值,這裏沒有寫group by,那麼就是統計整個表中全部記錄中薪資最大的,薪資的值
SELECT MIN(salary) FROM employee;
SELECT AVG(salary) FROM employee;
SELECT SUM(salary) FROM employee;
SELECT SUM(salary) FROM employee WHERE depart_id=3;
8.HAVING過濾
having的語法格式和where是如出一轍的,只不過having是在分組以後進行的進一步的過濾,where不能使用聚合函數,having是能夠使用聚合函數的
#!!!執行優先級從高到低:where > group by > having
#1. Where 發生在分組group by以前,於是Where中能夠有任意字段,可是絕對不能使用聚合函數。
#2. Having發生在分組group by以後,於是Having中能夠使用分組的字段,沒法直接取到其餘字段,having是能夠使用聚合函數
9.去重
將查詢的結果進行去重:select distinct post from employee; 注意distinct去重要寫在查詢字段的前面,否則會報錯。
10.OBDER BY
SELECT * FROM employee ORDER BY salary; #默認是升序排列
SELECT * FROM employee ORDER BY salary ASC; #升序
SELECT * FROM employee ORDER BY salary DESC; #降序
11.使用正則表達式查詢
#以前咱們用like作模糊匹配,只有%和_,侷限性比較強,因此如今能夠考慮用正則。
SELECT * FROM employee WHERE name REGEXP '^ale';
SELECT * FROM employee WHERE name REGEXP 'on$';
SELECT * FROM employee WHERE name REGEXP 'm{2}';