MySQL进阶教程:实战14种常用查询与分页操作

需积分: 5 0 下载量 10 浏览量 更新于2024-08-05 收藏 12KB MD 举报
在Day28-MySql第三天的学习内容中,主要探讨了MySQL数据库的基本查询操作和分页功能。这部分内容围绕创建和管理一个名为`employee`的简单员工信息表展开,该表包括员工ID(自动递增的主键)、姓名、年龄和薪资等字段。 1. 基本查询: - **查询所有信息**:使用`SELECT * FROM employee`可以获取表中的所有记录。 - **筛选特定字段**:如`SELECT name FROM employee`只显示姓名。 - **列名别名**:通过`SELECT name AS '姓名' FROM employee`为列指定中文别名。 - **组合字段**:`SELECT name, salary FROM employee`查询姓名和薪资。 - **条件过滤**:`SELECT * FROM employee WHERE salary > 1000`筛选薪资大于1000的员工。 - **范围查询**:`SELECT * FROM employee WHERE salary BETWEEN 2000 AND 5000`选择薪资在2000到5000之间的员工。 - **空值和NULL处理**:`SELECT * FROM employee WHERE name=''`或`name IS NULL`分别筛选姓名为空字符串和NULL的记录。 - **模糊匹配**:`SELECT * FROM employee WHERE name LIKE '%神%'`查找包含“神”字的姓名。 - **更新操作**:`SELECT * FROM employee WHERE name = '赵日天' LIMIT 1 FOR UPDATE`锁定赵日天的信息后,`UPDATE employee SET salary = salary + 1000 WHERE id = 1`增加其薪资。 - **分页查询**:`LIMIT n, m`用于获取表中的第n行开始的m行数据。例如,`SELECT * FROM employee LIMIT 0, 2`显示前两行,`LIMIT 2, 2`显示第三行到第四行。 2. 分页功能: - MySQL的分页查询语法包括`LIMIT`子句,可以通过指定起始行数和行数来控制结果集。`LIMIT n`表示从第n+1行开始取,而`LIMIT m`则指定了取m行。例如,`LIMIT 3`获取前三行,`LIMIT 0, 2`和`LIMIT 2, 2`分别表示每页显示2行,从不同位置开始。 这些操作是数据库查询的基础,掌握它们对于日常数据分析和管理数据库非常关键。在实际应用中,可能还需要结合其他SQL函数、聚合函数以及WHERE子句的复杂逻辑进行更高级的查询。同时,分页功能在大数据量的情况下尤其重要,有助于提高查询效率和用户体验。通过实践这些操作,可以更好地理解MySQL的数据检索和管理能力。

swiperChange(e) { if (this.data.backChange) { this.setData({ backChange: false, }); return; } //计算第三个索引 let rest = 3 - e.detail.current - this.data.oldCurrent; let dif = e.detail.current - this.data.oldCurrent; let date; if (dif === -2 || (dif > 0 && dif !== 2)) { //向右划的情况,日期增加 if (this.data.open) { date = new Date(this.data.selectDay.year, this.data.selectDay.month); this.setMonth(date.getFullYear(), date.getMonth() + 1, undefined); this.getIndexList({ setYear: this.data.selectDay.year, setMonth: this.data.selectDay.month, dateIndex: rest, }); } else { date = new Date( this.data.selectDay.year, this.data.selectDay.month - 1, this.data.selectDay.day + 7 ); this.setMonth( date.getFullYear(), date.getMonth() + 1, date.getDate() ); this.getIndexList({ setYear: this.data.selectDay.year, setMonth: this.data.selectDay.month - 1, setDay: this.data.selectDay.day + 7, dateIndex: rest, }); } } else { //向左划的情况,日期减少 if (this.data.open) { date = new Date( this.data.selectDay.year, this.data.selectDay.month - 2 ); this.setMonth(date.getFullYear(), date.getMonth() + 1, undefined); this.getIndexList({ setYear: this.data.selectDay.year, setMonth: this.data.selectDay.month - 2, dateIndex: rest, }); } else { date = new Date( this.data.selectDay.year, this.data.selectDay.month - 1, this.data.selectDay.day - 7 ); this.setMonth( date.getFullYear(), date.getMonth() + 1, date.getDate() ); this.getIndexList({ setYear: this.data.selectDay.year, setMonth: this.data.selectDay.month - 1, setDay: this.data.selectDay.day - 7, dateIndex: rest, }); } } this.setData({ oldCurrent: e.detail.current, }); this.setSwiperHeight(e.detail.current); },

2023-06-12 上传