数据库与 SQL练习卷(附答案)

免费可打印的数据库与 SQL练习卷:8 道题,从简单到考试水平,附答案。可打印或另存为 PDF。

教师请注意: 可免费打印、复印并在课堂上使用。每份新练习题都有新的数值和独立的答案。欢迎在课程页面添加指向 ExamProblems 的链接。

姓名: ____________________   日期: ____________

1.简单

在 SQL 中 NULL 表示什么?

  1. A缺失或未知的值
  2. B数值列中的数字零
  3. C布尔值 false
  4. D空字符串
2.简单

哪条 SQL 语句用于从表中检索数据?

  1. AUPDATE
  2. BCREATE
  3. CSELECT
  4. DINSERT
3.简单

GROUP BY 在查询中起什么作用?

  1. A删除含有 NULL 值的行
  2. B把具有相同值的行放入同一组,从而按组计算聚合
  3. C按字母顺序对结果行排序
  4. D按公共列连接两个表
4.中等

哪条语句删除表中的所有行、保留其结构,并且不能带 WHERE 子句?

  1. ADROP TABLE
  2. BTRUNCATE TABLE
  3. CALTER TABLE
  4. D带 WHERE 子句的 DELETE FROM
5.中等

为什么要在列上创建索引?

  1. A为了防止出现 NULL 值
  2. B为了加快这些列上的查找和连接
  3. C为了加快这些列上的插入和更新
  4. D为了节省磁盘空间
6.中等

什么是数据库触发器?

  1. A数据库的定时备份
  2. B用户手动运行的查询
  3. C当表上发生 INSERT、UPDATE 或 DELETE 等指定事件时自动运行的代码
  4. D一种加快搜索的索引
7.困难

一个报表数据库把客户姓名复制到 orders 表中以避免连接。这种反规范化的主要代价是什么?

  1. A不能再使用主键
  2. B数据库不能再使用索引
  3. C对 orders 表的查询变慢
  4. D每当客户数据变化时,都必须保持冗余副本的一致
8.困难

为什么许多 DBMS 使用严格两阶段锁,把排他锁一直持有到提交?

  1. A它使死锁不可能发生
  2. B它允许事务安全地读取脏数据
  3. C它免去了事务日志
  4. D它能防止级联中止,因为没有人能读到未提交的写入

答案

  1. 1. A · 缺失或未知的值
  2. 2. C · SELECT
  3. 3. B · 把具有相同值的行放入同一组,从而按组计算聚合
  4. 4. B · TRUNCATE TABLE
  5. 5. B · 为了加快这些列上的查找和连接
  6. 6. C · 当表上发生 INSERT、UPDATE 或 DELETE 等指定事件时自动运行的代码
  7. 7. D · 每当客户数据变化时,都必须保持冗余副本的一致
  8. 8. D · 它能防止级联中止,因为没有人能读到未提交的写入

完整分步解答:请在 examproblems.com 上练习本主题。