数据库学习课程第二章习题和答案
提示:SQL是一种介于关系代数与关系演算之间的结构化查询语言,它是高度非过程化的.
提示:SQL是关系数据库标准语言.
A 关系规范化,数据操纵,数据控制
B 数据定义,数据操纵,数据控制
C 数据定义,关系规范化,数据控制
D 数据定义,关系规范化,数据操纵
提示:SQL语言自身不具备关系规范化功能.
4.在SQL中,用户可以直接操作的是 D .
5.在SQL语言中,实现数据检索的语句是 A .
7.在SQL语句中,对输出结果排序的语句是 B .
8.在SELECT语句中,需对分组情况满足的条件进行判断时,应使用 D .
首先创建一张表如下,创建表的方法在上篇介绍过了,这里就不再赘述。
其中列名可以省略,省略之后要求插入的值必须与列一一对应:
假如要修改李四的年龄为21岁
注:修改多个列的值时用逗号隔开。要想设置某一列的值为空,只需让<列名>=NULL 即可。WHERE表示过滤条件。
删除数据(行):
现要删除20到22岁的学生信息:
WHERE的判断条件之后会更详细的介绍。
DELETE会记录日志,意味着删除后的数据还可以恢复,但是效率低。TRUNCATE不会记录日志,删除后的数据不能恢复,但是效率高。需要注意的是,TRUNCATE不能用于有外键约束引用的表。
–投影操作 指定查询结果中能显示哪些列 –选择操作 指定哪些行出现在结果中 –排序操作 指定查询的结果以什么样的顺序显示 投影操作:
多个列中间用逗号隔开,如果选择所有列可以用*号简写。
现在只想要查看姓名和年龄列:
注意这里不是把其他列删除了,而是只显示我们想看见的部分。
CONCAT,可以将列与列之间用想要的符号连接起来:
现给原表加入一班级列:
按照之前方法查询班级列得到:
但是我们只想查看具体有哪些班级,这里就需要用到去重,也就是DISTINCT。
返回限定行数的查询——LIMIT
LIMIT后面参数为1或2个:
LIMIT N 表示从第一行开始返回N行结果,LIMIT i,N 表示从第i+1行开始返回N行结果。
*注:LIMIT很重要,它是之后做数据表格分页的关键。
选择操作——WHERE:
分为单条件选择与多条件选择
其中AND表示并且,OR表示或者。
BETWEEN后的值为从下限到上限。
现在想查看年龄为17、20、23的学生信息:
反之NOT IN就是选择不包括在集合里的学生信息。
为了更好的解释模糊查询,这里重新建张表:
这里姓王的兄弟们躺枪...别介意。
首先先说下占位符与通配符:
占位符 "_",表示任何单个字符。
通配符 "%",表示包含零或多个字符。
下面就来用模糊查询逐一选中我们想要的行。
这里可能看不清,引号里实际是两个占位符。
最后一个字是“王”的:
只要是名字中有“王”字的:
这下模糊查询就很明白了吧,当然还有其他组合,大家可以自己尝试。
使用ORDER BY时,列名上指定ASC或DESC。ASC表示正序,DESC表示倒序。如果不指定则默认为正序。
基本查询SQL的执行顺序:
SQL语句汇总——数据修改、数据查询