许久未怎么好好写sql导致一些命令遗忘,故又重新温习并总结一遍。
数据查询
- 基本查询
语法:
SELECT * FROM <表名>
通俗的说就是:查询内容来自哪里
例:
SELECT * FROM students
从students表中查询所有内容
- 条件查询
语法:
SELECT * FROM <表名> where <条件>
查出自己想要的数据,通过where来限定条件
如:
SELECT * FROM students WHERE score >= 80;
条件查询可以使用的操作符
操作符 | 描述 |
---|---|
= | 等于 |
<> | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
BETWEEN | 在某个范围内 |
LIKE | 搜索某种模式 |
多个条件
- 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在结果中显示
- 排序
语法:
SELECT * FROM <表名> ORDER BY <条件1>, <条件2>
默认正序
DESC 倒序排列
例:
SELECT name FROM students ORDER BY score DESC, gender
查询姓名,通过成绩的倒序和性别排序
- 分页查询
语法:
SELECT * FROM <表名> LIMIT <M> OFFSET <N>
注:M为页数 N为数据量
- LIMIT总是设定为pageSize
- OFFSET计算公式为pageSize * (pageIndex - 1)
可简写为 LIMIT M N
- 聚合查询
只是查询有多少条记录时使用
语法:
SELECT COUNT(*) FROM students
- 多表查询
从多个表中查询数据
语法:
SELECT * FROM <表1> <表2>
或者重命名
SELECT * FROM FROM <表1> <别名1>, <表2> <别名2>
注:多表查询是表的乘积条数的数据量,查询时数据量较大速度较慢,需谨慎
- 连接查询
先确定一个主表作为结果集,然后,把其他表的行有选择性地“连接”在主表结果集上
SELECT * FROM <表1> INNER JOIN <表2> ON <条件...>
数据操作
- INSERT
向表中插叙数据
语法:
INSERT INTO <表名> (字段1, 字段2, ...) VALUES (值1, 值2, ...)
- UPDATE
更新表数据
语法:
UPDATE <表名> SET 字段1=值1, 字段2=值2, ... WHERE ...
- DELETE
删除数据
语法:
DELETE FROM <表名> WHERE ...
网友评论