MySQL入门之数据库的基本查询

SQL查询语句

SELECT * FROM t_emp;# 查询表中的所有字段
SELECT ename, job, sal FROM t_emp; # 查询表中的指定字段

重命名结果的列名

SELECT empno, sal*12 AS "income" FROM t_emp; # 使用AS重命名查询结果的列名

语句执行顺序: FROM -> SELECT.

数据分页

SELECT empno,ename FROM t_emp LIMIT 0, 8; # 取前八条数据
SELECT empno,ename FROM t_emp LIMIT 8; # 默认从0开始

语句执行顺序: FROM -> SELECT -> LIMIT.

结果集排序

# 默认为升序排序
SELECT empno, ename, hiredate, sal, deptno FROM t_emp ORDER BY empno; 
# 可以用多个条件进行排序, 当第一个条件相同时, 用第二个条件进行排序, 当所有条件相同时使用主键进行排序
SELECT empno, ename, hiredate, sal, deptno FROM t_emp ORDER BY ename ASC, hiredate DESC;
# 排序和LIMIT组合使用,只取排序好的前五条数据
SELECT empno, ename, hiredate, sal, deptno FROM t_emp ORDER BY hiredate, sal DESC LIMIT 0, 5;

语句执行顺序: FROM -> SELECT -> ORDER BY -> LIMIT.

去除结果集中的重复记录

SELECT DISTINCT deptno FROM t_emp; # DISTINCT关键字位置是固定的并且每次查询只能使用一次

条件查询

使用WHERE关键字。

运算符

数学运算符: 改变结果集中的NULL值(数据表中不变: IFNULL (字段名, 0) ,把字段中的NULL值变为0,也可以改为其他数据值。 显示当前时间: NOW () 。 日期之间相差多少天: DATEDIFF (日期一,日期二)。 比较运算符:

LIKE关键字的用法:可以使用"A%"表示开头为A的字符串, “%A” 表示以A为结尾的字符串, "%A%“表示字符串中带有A的字符串。”_abc"表示第一位为任意字符,后面为abc的字符串。

SELECT * FROM t_emp WHERE comm IS NULL AND sal BETWEEN 1000 AND 3000 AND DATEDIFF(NOW(), hiredate)/365 > 10 AND ename LIKE %A%;

逻辑运算符: 按位运算符: 语句执行顺序: FROM -> WHERE -> SELECT -> ORDER BY -> LIMIT.

MySQL常用函数:

IFNULL (字段名, 0): 改变结果集中的NULL值(数据表中不变), 把字段中的NULL值变为0,也可以改为其他数据值。 NOW (): 显示当前时间。 DATEDIFF (日期一,日期二): 日期之间相差多少天。

经验分享 程序员 微信小程序 职场和发展