許久未怎么好好寫sql導(dǎo)致一些命令遺忘,故又重新溫習(xí)并總結(jié)一遍。
數(shù)據(jù)查詢
- 基本查詢
語法:
SELECT * FROM <表名>
通俗的說就是:查詢內(nèi)容來自哪里
例:
SELECT * FROM students
從students表中查詢所有內(nèi)容
- 條件查詢
語法:
SELECT * FROM <表名> where <條件>
查出自己想要的數(shù)據(jù),通過where來限定條件
如:
SELECT * FROM students WHERE score >= 80;
條件查詢可以使用的操作符
| 操作符 | 描述 |
|---|---|
| = | 等于 |
| <> | 不等于 |
| > | 大于 |
| < | 小于 |
| >= | 大于等于 |
| <= | 小于等于 |
| BETWEEN | 在某個(gè)范圍內(nèi) |
| LIKE | 搜索某種模式 |
多個(gè)條件
- AND
語法:
SELECT * FROM <表名> where <條件1> AND <條件2>
- OR
語法:
SELECT * FROM <表名> where <條件1> OR <條件2>
- 投影查詢
語法:
SELECT 列1, 列2, 列3 FROM <表名>
將某一列名重命名
SELECT 列1, 列2 重命名2, 列3 FROM <表名>
例:
SELECT id, name studentName FROM students
這里將name重名為studentName在結(jié)果中顯示
- 排序
語法:
SELECT * FROM <表名> ORDER BY <條件1>, <條件2>
默認(rèn)正序
DESC 倒序排列
例:
SELECT name FROM students ORDER BY score DESC, gender
查詢姓名,通過成績的倒序和性別排序
- 分頁查詢
語法:
SELECT * FROM <表名> LIMIT <M> OFFSET <N>
注:M為頁數(shù) N為數(shù)據(jù)量
- LIMIT總是設(shè)定為pageSize
- OFFSET計(jì)算公式為pageSize * (pageIndex - 1)
可簡寫為 LIMIT M N
- 聚合查詢
只是查詢有多少條記錄時(shí)使用
語法:
SELECT COUNT(*) FROM students
- 多表查詢
從多個(gè)表中查詢數(shù)據(jù)
語法:
SELECT * FROM <表1> <表2>
或者重命名
SELECT * FROM FROM <表1> <別名1>, <表2> <別名2>
注:多表查詢是表的乘積條數(shù)的數(shù)據(jù)量,查詢時(shí)數(shù)據(jù)量較大速度較慢,需謹(jǐn)慎
- 連接查詢
先確定一個(gè)主表作為結(jié)果集,然后,把其他表的行有選擇性地“連接”在主表結(jié)果集上
SELECT * FROM <表1> INNER JOIN <表2> ON <條件...>
數(shù)據(jù)操作
- INSERT
向表中插敘數(shù)據(jù)
語法:
INSERT INTO <表名> (字段1, 字段2, ...) VALUES (值1, 值2, ...)
- UPDATE
更新表數(shù)據(jù)
語法:
UPDATE <表名> SET 字段1=值1, 字段2=值2, ... WHERE ...
- DELETE
刪除數(shù)據(jù)
語法:
DELETE FROM <表名> WHERE ...