select 进阶查询
🍑排序查询
select * from 表名 order by 列名; // 按order by后面的列名所对应的那一列进行排序
select 列名 from 表名 order by 列名;
-- ASC 为升序(从小到大)
-- DESC 为降序(从大到小)
-- 默认为 ASC
查询过程中,对于查询到的结果,进行排序!
针对临时表排序,对于数据库上原来存的数据没有影响
~~~~~我是分割符~~~~~
select 操作中,如果没有使用order by,那么查询结果的顺序是不确定的
🍑条件查询
select * from 表名 where 条件;
select 列名 from 表名 where 条件;
在指定条件下,对查询到的结果进行筛选
筛选可以简单理解成:对查询结果进行依次遍历,where后面的条件代入到对应的查询结果中,如果条件成立,则把该记录放到最终查询结果里
在条件中可能会使用到的一些运算符
比较运算符
逻辑运算符
🔔注意:
1. WHERE条件可以使用表达式,但不能使用别名。
2. AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分
- 基础查询
- ~~ ~~我是分割线~~~~
- AND和OR
- 范围查询
🌻 BETWEEN ... AND...
🌻IN
模糊查询LIKE
下面的exam_result是表名,name是列名
-- % 匹配任意多个(包括 0 个)字符
SELECT name FROM exam_result WHERE name LIKE '孙%';-- 匹配到孙悟空、孙权
-- _ 匹配严格的一个任意字符
SELECT name FROM exam_result WHERE name LIKE '孙_';-- 匹配到孙权
📝 实战演练
🍑分页查询
select * from 表名 limit N offset M;
select 列名 from 表名 limit N offset M;
从第M条开始查询,最多返回N条记录(M如果省略不写,表示从第0条记录开始返回
limit还可以和order by,where 等句子搭配使用的~~~~
四、数据的更新和删除
数据的更新
update 表名 set 列名 = 值, 列名 = 值 where 条件;
针对某个表的某些行的某些列,进行值修改,我们的where条件确定就是那些行
数据的删除
delete from 表名 where 条件;
把符合where条件的行进行删除,如果条件不写则会删除整个表的所有记录