[音乐] 信息查询 是数据库的基本功能,也是最常用的功能
信息的需求各种各样,我们先从简单的查询开始 这是我们的
teaching 数据库
这是其中的数据表,我们主要用的是 Student
这个数据表 和 book 这个数据表。
下来我们先看第一个我们要查询的信息
查询所有学生的信息,这里头呢实际上有 三个要点。
第一个要点呢就是它是学生信息,那么学生信息在哪儿呢? 学生信息在
Student 这个数据表当中。
第二个要点呢 就是所有的学生,所有的学生,那么这个所有呢
就是不加任何条件的,不限定班级,不限定年龄等等,就是所有
还有个要点就是所有的信息
所有的信息呢,就是包括这个数据表里头的所有的列
这个查询语句我们这样来写 SELECT *
FROM student。
这里的 * 其实就代表了所有的信息,也就是这个数据表里头的所有的列。
FROM 后面是表的名字,就是说从这个数据表里头查询学生信息,其他的条件 就没有了。
那我们看到的就是这个表里头的所有的数据,单击 执行。
好,这就是这个表里头的所有的数据
第二个例题呢,我们要查询
学生的班级、 学号和姓名信息。
注意班级、 学号和姓名
并不是我们这个表里头的所有的列的信息,所以这个时候呢,我们写这个 SELECT
语句的时候 就不能用 * 了,就不能用
* 了,我们要列出所有
需要的列的名字:班级、 学号
和姓名,然后呢 FROM
表名 选中 执行它。
所以我们这里头显示出来的就是班级、 学号
和姓名的信息。
如果我们把从
原来的数据表到查询结果这个过程看作是一个变换,那么这个变换呢
可以是看做一种运算,我们把显示部分列的这样的一种运算叫做
投影运算
第三个例子,我们要查询有哪些班级 SELECT 班级
FROM 表名 我们来执行这个查询语句
好,列出来了班级,但是呢有一个问题
这里头的班级里头呢有好多重复的,其实我们就想看一下这些学生来自于
几个不同的班,那么我们就要消除重复 的记录,比如说这么多物理,我们希望只留下一个。
方法呢 就是在这个 SELECT 后面加一个关键词 DISTINCT。
加了这个关键词以后 所有重复的记录就会被消去。
再执行,就剩下了电气、 航天 物理和信计四条记录了。
这就是去除重复的信息 也就是去除重复的行。
下一个例子呢 是根据现有的值来计算新值。
比方说,我们有一个图书表,里头呢
放的是图书的信息,我们先来看一下图书表里头放的是什么内容
from book
好,图书表里头有书号、 书名、
作者 出版社、 出版日期和定价
现在呢,我们是希望看一看打九折以后 这些价钱是多少。
好,这个时候我们也写 SELECT
书号、 书名
然后呢作者 然后出版社、
出版日期 注意价格,我们要把这个价格呢再乘上一个
九折,就是 0.9,然后呢这是实际上 这些呢就相当于是字段的列表。
其中有一个字段呢我们叫做计算字段,数据来源 FROM
表的名字 book。
我们来 执行这一句
好,这就是我们得到的结果 注意最后一列,最后一列就是我们打九折的价格。
刚才我们的价格 都是只有整数没有小数的,现在我们的价格有了小数部分了,大家注意到
这一列的列名,其他的都是我们字段名,这一列呢是没有列名的 就是因为它是,
是一个计算字段,那我们也希望,这个列名呢,比方说我们希望这个列名呢 叫做
discount,所以我们可以给它加一个列的名字。
我们把它换 下来啊,要不然的话,这个就太长了,我们在后面呢就是计算价格
计算字段这一列后面写一个 AS,叫什么呢?discount 叫做 discount。
好,我们再来执行一下这个 SELECT 语句
最后的这个九折的价格的这一列 它的列名就变成了 discount。
同样,我们也可以把其他的这些列的名字 像这是英文的名字 bnmb,
bname ,author, price 改为汉字,我们可以这样写,是
bnumb 后面写 AS,这叫做书号
逗号,然后 bname
这叫做书名,逗号,author 后面写
AS 作者,这少了一个
AS 这个是不能少的,下来呢,我们再来执行这一句
注意,这个列的名字,也就是字段的名字就变成了书号、 书名、 作者。
注意,这里头 的 AS 其实就是显示的名字,并不是我们数据库
当中字段的名字修改的,数据库当中的字段名字并没有修改
下面呢,我们想把这个查询的结果
保存到一个数据表当中,方法是在 SELECT
字段的列表之后,加上 INTO,后面写表名
然后 FROM 表名
注意 INTO 后面是一个新的数据表的名称
我们再来执行这一句,好 99
行 受影响,我们看一下我们的数据表,我们把它刷新一下
展开数据表,好,这里头多了一个 discount 这个数据表就是我们
新生成的一个数据表,也就是说把我们打折的这个信息保存在了
discount 这个表当中了,我们可以来看一下这个结果
[空白音频]
好,这是我们刚才的这个查询语句的这个查询结果 现在呢,我们把它保存到了 discount
这个数据表当中 我们已经可以做到查询数据表中所有记录的信息
查询所有记录的部分信息
给字段起一个别名
查询字段的计算值,还可以将查询结果保存到一个新表中
简单查询的一般格式是 SELECT *
或者是列名的列表 INTO 新表名 FROM 表名。
如果我们不需要把我们的查询结果保存到一个 新表中,INTO
这一项就不要 [空白音频]