文章目录
- 前言
- DQL(数据查询语言)基本操作
- 查询操作
- 基本查询
- 示例1:查询表格的name,age,并返回;
- 示例2:查询表格中的所有字段;
- 示例3:查询所有员工的工号并返回,起别名;
- 示例4:查询所有员工的工号并返回,不重复;
- 条件查询
- 示例1:查询年龄等于24的员工;
- 示例2:查询年龄小于24的员工;
- 示例3:查询没有年龄信息的员工;
- 示例4:查询年龄大于等于25;小于等于27的员工;
- 示例5:查询性别为女没年龄大于等于25;小于等于27的员工;
- 示例6:查询名字为四个字符的员工;
- 示例6:查询名idcard最后一位为0的员工;
前言
在第五讲MySQL第5讲–DML(数据操作语言)的基本操作我们讲述了DML的基本操作;接下来我们将讲述DQL(Data Query Language,数据查询语言)的基本操作;
DQL(数据查询语言)基本操作
DQL(Data Query Language,数据查询语言):用于查询数据库中表的记录;
查询操作
基本查询
+查询多个字段
SELECT 字段1,字段2,字段3,....FROM 表名; # 查询多个字段
SELECT * FROM 表名; # 查询所有的字段
示例1:查询表格的name,age,并返回;
select employ.name, employ.age from employ;
从上图可以看出表格中所有的名字和年龄都显示出来了;
示例2:查询表格中的所有字段;
select * from employ; # 方法1 不推荐
select id, worknum, name, gender, age, idcard, intime from employ; # 方法2 推荐
从上图可以看出表格中所有的字段都返回了;
- 设置别名
在查询字段过程中我们是可以设置别名的,增强字段的可读性;
SELECT 字段1 [AS 别名1],字段1 [AS 别名2].... FROM 表名;
当然AS是可以省略的,不一定非要添加;
示例3:查询所有员工的工号并返回,起别名;
select employ.worknum from employ;
这是没有起别名的运行结果,那起了别名的运行结果会怎么样呢?接下来我们看一下:
select employ.worknum as '工号' from employ; # 方法1
select employ.worknum '工号' from employ; # 方法2 两个语句的效果一样
从上图可以看出,有了别名后,更加直观了,当然这个也要根据自己的需求去添加,需不需要加别名;
- 去除重复记录
SELECT DISTINCT 字段列表 FROM 表名;
示例4:查询所有员工的工号并返回,不重复;
select distinct employ.worknum from employ;
从上图可以看出,返回了工号没有重复的列表;
条件查询
SELECT 字段列表 FROM 表名 WHERE 条件列表;
从以上语法列表中可以看到,where后面是条件列表,就说明条件不可能是一个,那接下来我们看一下在条件列表中可以出现的关系符有哪些?
比较运算符
比较运算符 | 功能 |
---|---|
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
= | 等于 |
<> 或 != | 不等于 |
IN | 在in之后的列表中的值 |
LIKE 占位符 | 模糊匹配(_匹配单个字符,%匹配任意字符) |
IS NULL | 是NULL |
BETWEEN… AND… | 在某个范围内含最小最大值 |
逻辑运算符
逻辑运算符 | 功能 |
---|---|
AND或&& | 并且多个条件同时成立 |
OR | 或者多个条件任意成立一个 |
NOT或! | 非,不是 |
示例1:查询年龄等于24的员工;
SELECT id, worknum, name, gender, age, idcard, intime FROM 表名 EHERE age=24;
从上图可以看出,列表筛选出了年龄等于24的员工;
示例2:查询年龄小于24的员工;
SELECT id, worknum, name, gender, age, idcard, intime FROM 表名 WHERE age<24;
从上图可以看出,列表筛选出了年龄小于24的员工;
示例3:查询没有年龄信息的员工;
SELECT id, worknum, name, gender, age, idcard, intime FROM 表名 WHERE IS NULL ;
从上图可以看出,列表筛选出了没有年龄信息的员工;
示例4:查询年龄大于等于25;小于等于27的员工;
select id, worknum, name, gender, age, idcard, intime from employ where age>=25 and age<=27;
select id, worknum, name, gender, age, idcard, intime from employ where age between 25 and 27;
# 以上两条语句实现的功能一样
示例5:查询性别为女没年龄大于等于25;小于等于27的员工;
select id, worknum, name, gender, age, idcard, intime from employ where age between 25 and 27 and gender='女';
示例6:查询名字为四个字符的员工;
select id, worknum, name, gender, age, idcard, intime from employ where name like '____';
示例6:查询名idcard最后一位为0的员工;
select id, worknum, name, gender, age, idcard, intime from employ where employ.idcard like '%0';
以上主要讲述了DQL中基本查询和条件查询的语句,以及具体示例;
如有错误欢迎指正,如果帮到您了请点赞加收藏哦!