前言:

本文内容:分页和排序、子查询和嵌套查询、MySQL常用函数

推荐免费MySQL基础讲解视频:【狂神说Java】MySQL最新教程通俗易懂_哔哩哔哩_bilibili

分页和排序

排序

1
2
3
4
5
6
7
-- 排序 order by
-- 排序:升序 asc 降序 desc
-- 根据学生id进行排序
-- 降序
select * from student order by `id` desc
-- 升序
select * from student order by `id` asc

分页

当前页 n
页面大小 pageSize
起始页 (n-1)*pageSize
总页数 数据总数/页面大小

1
2
3
4
5
6
7
8
9
10
11
12
13
14
-- 分页 limit
-- 缓解数据库压力 给用户好的体验 (瀑布流)
-- 每页显示5条数据
-- limit 0,5 1-5
-- limit 1,5 2-6
select * from student limit 0,5
-- 第一页 limit 0,5
-- 第二页 limit 5,5
-- 第三页 limit 10,5
-- 第n页 limit (n-1)*pageSize,pageSize
-- 当前页 n
-- 页面大小 pageSize
-- 起始页 (n-1)*pageSize
-- 总页数 数据总数/页面大小

子查询和嵌套查询

子查询

本质:在where语句中嵌套一个查询语句

1
2
3
4
5
6
-- 子查询

-- gradename为大一的所有id
select `gradeid` from `grade` where gradename= '大一';
-- 查询所有大一学生的信息 并且 gradename为大一的所有id
select `id`,`name`,`sex`,`address`,`gradename` from `student`st, `grade` g where g.gradeid=(select `gradeid` from `grade` where gradename= '大一')=st.gradeid;

MySQL常用函数

MySQL 8.0 内置函数和运算符参考

MySQL 函数 | 菜鸟教程 (runoob.com)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37


-- MySQL常用函数

-- 数学运算
select abs(-8); -- 绝对值
select Ceiling(9.3); -- 向上取整数
select floor(9.4); -- 向下取整
select rand(); -- 返回一个0-1的随机数
select sign(11); -- 判断一个数的正负
-- 字符串函数
select char_length('代码小白哦'); -- 字符串长度
select concat('写','代码','是热爱'); -- 拼接字符串
select insert('写代码是热爱',5,2,'超级热爱'); -- 插入数值 替换数值
select lower('JOKERDIG'); -- 转换为小写
select upper('jokerdig'); -- 转换为大写
select instr('jokerdig','k'); -- 字符串第一次出现的索引
select replace('baidu.com','baidu','jokerdig'); -- 替换字符串
select substr('写代码是热爱',1,3); -- 返回指定字符串
select reverse('反转字符串'); -- 反转字符串

-- 查询姓张的同学
select * from student where `name` like '张%';
-- 替换姓氏为刘
select replace(`name`,'张','刘') from student where `name` like '张%';

-- 时间日期函数 重要
select current_date(); -- 获取当前日期 select curdate();
select now(); -- 获取当前时间
select localtime(); -- 获取本地时间
select sysdate(); -- 获取系统时间
select Year(NOW()); -- 年year 月 month 日 day 时 hour 分 minute 秒 second

-- 系统
select system_user(); -- 系统用户
select user();
select version(); -- 版本