当前课程知识点:数据库技术应用 > 学习情境三、银行存取款机数据操纵 > 模块2、银行存取款机简单查询 > 3.2.1简单查询
大家好
欢迎来到数据库技术应用在线开放课程
今天我们要完成的任务是
BankDB数据库简单查询操作
那么在简单查询当中
我们今天要完成的有五个子任务
分别是第一个查询userinfo表当中
用户的姓名身份证号和电话号码
并显示成中文
第二个查询userinfo表当中张明的信息
第三个查询userinfo表当中
家住呼和浩特的客户信息
第四个查询cardinfo表当中
余额低于一百元的帐户信息
第五个查询userinfo表当中
2018年以后开户的账户余额
不低于一百元的帐户信息
那么本节课的目标就是
教会大家掌握select语句的语法
掌握条件查询的基本方法
能够完成我们之前设定的这几个任务
那我们一起进入知识技能学习的环节
首先我们来看第一个简单查询
我们用什么样的语法格式
它的典型的语法格式由两条子句构成
第一条叫select语句
第二条叫from语句
这两条语句构成了一个查询当中
必备的两个语句
那select在后面放什么
其实很简单
当我们查询当中要查什么
select的后面就放什么
那如果是表当中已经存在的字段
则select后面直接加字段名称
如果是表当中不存在的字段
我们需要动脑子
想一想办法怎么能够通过计算
公示等等方式去能够把它表示出来
那么总而言之select后面
要放的内容就是查什么
放什么
那from我后面放什么
放的是你这个表员
也就是待查询的这些字段
从哪个表当中得到
select from 是一个查询必备的两个语句
那如果大家在查询的过程当中
还有一些其它需求
比如说我想去掉重复行怎么办
我们需要在字段列表的前面
加一个关键字叫distinct
那如果说我想把查询出来的内容
换一个名字显示
那我也可以做到方法就是在
字段列表的后面加一个as别名
就可以实现我们想要的
这个起别名的这样的操作
那么说了半天查询实际上在我们生活当中
对数据库的操作
其实主要体现的增删改查四个方面
增就是数据的插入
改就是数据的修改
查就是数据的查询
删就是我们数据的删除
增删改查四个操作
那在这四个操作当中
大家也可以仔细去想一想
哪一个操作我们用的最多
实际上生活当中
我们用的最多的是各种各样的查询
就比如说每天大家都要上百度有问题找度娘
那实际上就是一个查询操作
所以说我们今天要通过这样的语句
去实现客户想要的一个查询结果的反馈
那除了select from两个字句以外
在我们实际应用过程当中
还有一个子句用得比较多
前面我们已经接触过
比如说在修改的时候
最下面有条子句叫where子句
比如说在删除的时候
下面也有一条与子句叫where子句
那where子句后面放的是条件表达式
它的目标就是控制条件的
那我把where子句放在
select from 的下面的话
它当然用来控制的就是查询的条件
所以select from where
这三条子句放在一起
就可以实现有条件的查询
那这个条件
可以是带有比较运算符的表达式
也可以是带有like运算符的表达式
也可以是一个指定范围的表达式
我们先看带有比较运算符的表达式
比较运算符
前面我们已经接触过在mysql当中
比较运算符由等于 大于等于 小于等于
大于还有不等于等等
这些都是比较运算符
那还有一个叫like运算符
什么是like
我一说大家就能想到
生活当中这个like是喜欢的意思
但是我们在mysql查询过程当中
like是像什么什么一样
专门解决我们生活当中的模糊查询
什么是模糊查询
比如说刚刚咱们说到的有问题找度娘
当我在百度搜索框里面写一个数据库的时候
大家会发现跟数据库
有关系的所有的消息都会显示出来
所以它就是一个典型的模糊查询
那我们like是像什么什么一样
就是用来解决模糊查询的
只要差不多就可以
那这里面需要占位符去配合它使用
我们经常用到的有百分号
它代表的是零个或多个字符
还有下划线它代表的是单个字符
我们要通过这样的占位符
配合我们的like进行模糊查询
那还有指定范围的表达式涉及到两个
一个是between and代表的是在两者之间
那相反不在两者之间的时候
就是not between and
还有一个是in括号
括号里是一个集合
代表的是在这个集合里
这两个是用来指定范围的表达
是我们在查询当中也会经常使用
我们来看第一个子任务怎么进行实施
查询userinfo表当中用户的姓名
身份证号和电话号码
并且显示成中文
前面我给大家说了
基本的查询语句是select from
如果带条件加where
不带条件就没有where
而我们的宗旨
是查什么select后面写什么
这个问题让我们查的是姓名
身份证号和电话号码
那好我就可以先把查询写出来
select usename PID telephone from
我们哪个表
很显然是用户信息表userinfo
但是这个问题没有解决完
人家还让我们显示成中文
那根据需求我们需要把它显示成中文
怎么显示
在每一个字段的后面加上as
as姓名as身份证号as 电话号码
当然我们也可以把as省略掉
直接写成大家屏幕上看到的
这样一种形式
select customername 姓名逗号
PID身份证号逗号
telephone电话号码
from userinfo 分号结束
也可以实现这个查询任务
所以宗旨就是查什么select后面写什么
用哪个表from后面就加哪个表
我们来看第二个任务
查询userinfo表当中张明的信息
如果这个问题改成查询
所有userinfo表当中的信息
那么我们直接可以用select字段列表
from userinfo就可以了
但是大家想想userinfo表里面有好多的字段
如果我们都一一罗列出来的话
那么很长又浪费时间
所以有一个简便方法
当你要查询的是字段当中的
所有的字段的时候
select后面直接加一个符号星号就可以解决
那么这个问题还指明了
查询的是张明的信息
也就是带条件的查询
我需要借助where子句
where子句后面写上查询的条件
customername等于张明
那么就构成了
select * from userinfo
where customername等于张明
这样一条查询语句实现了目标的查询
接下来我们来看第三个任务
第三个任务是
查询userinfo表当中家住呼和浩特的客户信息
那同样的道理
我们需要找到让我们查什么
落脚点在客户信息
没有具体说查什么
那这时候我选择在时代的后面
加一个星号来解决
有没有说哪张表
很显然告诉我们是userinfo表
所以把userinfo写在from后面
那这个问题有没有条件
说的很清楚
家住呼和浩特的那地址就是呼和浩特
那我需要用到where子句
U下划线address等于呼和浩特
可以实现目标查询
但是这里有个问题
刚刚我们前面在看表里的数据的时候
很多人的住址都不是只写了呼和浩特
它还写了小区名称等等相应的信息
那这个问题在解决的时候
我们可以换种思路
如果把它做成是模糊查询
是不是会更好
如果做成模糊查询
那where U address后面就不能加等号了
加等号代表的是左右两边必须完全匹配
而我们用模糊查询的时候
那等号需要改成like
像什么什么一样模糊查询的标志
那like后面
就得借助我们的占位符
来把呼和浩特描述出来
怎么描述
表里的数据可能存在
呼和浩特开头后面是相应的小区名
也有可能出现内蒙古自治区
呼和浩特市什么什么什么地点
那么结合这两种情况
那我就可以在呼和浩特的前面
加一个百分号
代表它前面可以是零到多个字符
然后在呼和浩特后面再加一个百分号
代表呼和浩特后面
也可以有0或者是多个字符
然后用引号引起来
代表的是只要是有呼和浩特四个字的
它都是呼和浩特的客户
那么我们做了一个模糊查询
就变成了select * from userinfo
where U address like百分号
呼和浩特百分号
这样我的第三个任务就完成了
接下来我们来看第四个
第四个子任务是
查询cardinfo表当中余额低于一百元的帐户信息
那我们还是这个宗旨先找让我们查什么
这个问题同样不是很明确
所以select后面直接加一个*
那哪张表
From cardinfo表
什么条件 余额低于一百元
那就是balance小于100
select from where就构成了我们这个
子查询当中解决问题的三个子句
第五个子任务查询cardinfo表当中
2018年以后开户的
账户余额不低于一百元的帐户信息
还是按我们前面分析的办法
首先第一个查什么
帐户信息并没有明确
那select后面还是*
from哪个表 cardinfo表
说的很清楚 from cardinfo
条件这里面说到了2018年以后开户的
账户余额不低于一百元的
我们来看一下 很显然这是两个条件
那这两个条件
2018年以后开户的我怎么来表示
Opendate大于2018年1月1日
2018年以后开户的
那账户余额不低于一百元
刚刚已经用过了叫balance小于一百
那这俩条件是什么关系
是两个必须同时满足
还是只满足其中一个就可以
我们再读一遍查询cardinfo表当中
2018年以后开户的账户余额
不低于一百元的帐户信息
我们判断它是两个必须同时满足
那只要同时满足这俩条件
我就得用一个连接词
用什么 根据我们之前学到的程序设计
当中的一些知识
连接并且两者都满足的时候
用到的是and
所以在两个条件中间我加一个and
那相反如果只满足其中一个的话
我就可以把and换成or
这样的话我这个条件就满足了
那select from where
我们这个第五个子任务也实施完了
今天的拓展任务是员工管理数据库表数据的查询
感谢大家的聆听
-模块1、数据库的基础知识
--数据库的基础知识
-模块2、MYSQL介绍与安装
--MYSQL介绍与安装
-模块3、银行存取款机数据库的创建与维护
--银行存取款机数据库的创建与维护
-模块4、银行存取款机数据库的设计
--银行存取款机数据库的设计
-模块1、表的创建
--2.1表的创建
--表的创建
-模块2、表的管理
--2.2表的管理
--表的管理
-模块3、索引
--2.3索引
--索引
-实践小课堂:宠物电商管理平台数据库和表的创建
-模块1、银行存取款机数据插入、修改和删除
--银行存取款机数据插入、修改和删除
-模块2、银行存取款机简单查询
--银行存取款机简单查询和统计查询
-模块3、银行存取款机连接查询
--3.3连接查询
--银行存取款机连接查询
-模块4、银行存取款机子查询
--3.4子查询
--银行存取款机子查询
-模块5、银行存取款机分类汇总与排序
--银行存取款机分类汇总与排序
-模块6、银行存取款机视图
--银行存取款机视图
-模块1、银行存取款机存储过程
--4.1.2事务
--银行存取款机存储过程
-模块2、银行存取款机触发器
--银行存取款机触发器
-模块1、MYSQL用户管理
--MYSQL用户管理
-模块2、MYSQL权限管理
--MYSQL权限管理
-模块3、MYSQL数据库的锁机制
--MYSQL数据库的锁机制
-模块4、MYSQL备份和恢复
--MYSQL备份和恢复