MySQL第6讲--DQL(数据查询语言)的基本操作之基本和条件查询

文章目录

前言

在第五讲MySQL第5讲--DML(数据操作语言)的基本操作我们讲述了DML的基本操作;接下来我们将讲述DQL(Data Query Language,数据查询语言)的基本操作;

DQL(数据查询语言)基本操作

DQL(Data Query Language,数据查询语言):用于查询数据库中表的记录;

查询操作
基本查询

+查询多个字段

bash 复制代码
SELECT 字段1,字段2,字段3,....FROM 表名;   # 查询多个字段
SELECT * FROM 表名; # 查询所有的字段
示例1:查询表格的name,age,并返回;
bash 复制代码
select employ.name, employ.age from employ;

从上图可以看出表格中所有的名字和年龄都显示出来了;

示例2:查询表格中的所有字段;
bash 复制代码
select * from employ;   # 方法1 不推荐
select id, worknum, name, gender, age, idcard, intime from employ;   # 方法2 推荐

从上图可以看出表格中所有的字段都返回了;

  • 设置别名
    在查询字段过程中我们是可以设置别名的,增强字段的可读性;
bash 复制代码
SELECT 字段1 [AS 别名1],字段1 [AS 别名2].... FROM 表名;

当然AS是可以省略的,不一定非要添加;

示例3:查询所有员工的工号并返回,起别名;
bash 复制代码
select employ.worknum  from employ;

这是没有起别名的运行结果,那起了别名的运行结果会怎么样呢?接下来我们看一下:

bash 复制代码
select employ.worknum as '工号' from employ;  # 方法1
select employ.worknum '工号' from employ;   # 方法2   两个语句的效果一样

从上图可以看出,有了别名后,更加直观了,当然这个也要根据自己的需求去添加,需不需要加别名;

  • 去除重复记录
bash 复制代码
SELECT DISTINCT 字段列表 FROM 表名;
示例4:查询所有员工的工号并返回,不重复;
bash 复制代码
select distinct employ.worknum from employ;

从上图可以看出,返回了工号没有重复的列表;

条件查询
bash 复制代码
SELECT 字段列表 FROM 表名 WHERE 条件列表;

从以上语法列表中可以看到,where后面是条件列表,就说明条件不可能是一个,那接下来我们看一下在条件列表中可以出现的关系符有哪些?

比较运算符

比较运算符 功能
> 大于
>= 大于等于
< 小于
<= 小于等于
= 等于
<> 或 != 不等于
IN 在in之后的列表中的值
LIKE 占位符 模糊匹配(_匹配单个字符,%匹配任意字符)
IS NULL 是NULL
BETWEEN... AND... 在某个范围内含最小最大值

逻辑运算符

逻辑运算符 功能
AND或&& 并且多个条件同时成立
OR 或者多个条件任意成立一个
NOT或! 非,不是
示例1:查询年龄等于24的员工;
bash 复制代码
SELECT id, worknum, name, gender, age, idcard, intime FROM 表名 EHERE age=24;

从上图可以看出,列表筛选出了年龄等于24的员工;

示例2:查询年龄小于24的员工;
bash 复制代码
SELECT id, worknum, name, gender, age, idcard, intime FROM 表名 WHERE age<24;

从上图可以看出,列表筛选出了年龄小于24的员工;

示例3:查询没有年龄信息的员工;
bash 复制代码
SELECT id, worknum, name, gender, age, idcard, intime FROM 表名 WHERE IS NULL ;

从上图可以看出,列表筛选出了没有年龄信息的员工;

示例4:查询年龄大于等于25;小于等于27的员工;
bash 复制代码
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的员工;
bash 复制代码
select id, worknum, name, gender, age, idcard, intime from employ where age between 25 and 27 and gender='女';
示例6:查询名字为四个字符的员工;
bash 复制代码
select id, worknum, name, gender, age, idcard, intime from employ where name like '____';
示例6:查询名idcard最后一位为0的员工;
bash 复制代码
select id, worknum, name, gender, age, idcard, intime from employ where employ.idcard like '%0';

以上主要讲述了DQL中基本查询和条件查询的语句,以及具体示例;

如有错误欢迎指正,如果帮到您了请点赞加收藏哦!

相关推荐
jiayou6415 小时前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
于眠牧北16 小时前
MySQL的锁类型,表锁,行锁,MVCC中所使用的临键锁
mysql
李广坤1 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
Turnip12022 天前
深度解析:为什么简单的数据库"写操作"会在 MySQL 中卡住?
后端·mysql
爱可生开源社区2 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1773 天前
《从零搭建NestJS项目》
数据库·typescript
加号33 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏3 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐3 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
百锦再3 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip