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

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

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

姓名: ____________________   日期: ____________

1.简单

哪个关键字用于对查询结果排序?

  1. AGROUP BY
  2. BARRANGE
  3. CORDER BY
  4. DSORT
2.简单

CHECK 约束的作用是什么?

  1. A在对某个表执行查询之前检查该表是否存在
  2. B验证用户的密码
  3. C拒绝值不满足某个条件的行
  4. D统计表中的行数
3.简单

CREATE、ALTER 和 DROP 等语句属于 SQL 的哪一部分?

  1. A数据控制语言(DCL)
  2. B数据定义语言(DDL)
  3. C数据操纵语言(DML)
  4. D事务控制语言(TCL)
4.中等

一个外键声明了 ON DELETE CASCADE。删除父行时会发生什么?

  1. A引用它的子行会被自动删除
  2. B删除总是被拒绝
  3. C父行被复制到归档表中
  4. D子行中的外键自动被设为 NULL
5.中等

为什么一个表只能有一个聚集索引?

  1. ASQL 标准禁止一个表上有多个索引
  2. B聚集索引只能建在主键上
  3. C行在物理上只能按一种顺序存储
  4. D聚集索引占用太多内存
6.中等

对于电话号码为 NULL 的客户,SELECT COALESCE(phone, 'unknown') FROM customers 返回什么?

  1. A报错
  2. B空字符串
  3. C'unknown'
  4. DNULL
7.困难

两个事务都读到 stock = 10,各自减 1 后写回结果,最终得到 9 而不是 8。这是哪种异常?

  1. A删除异常
  2. B丢失更新
  3. C幻读
  4. D脏读
8.困难

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

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

答案

  1. 1. C · ORDER BY
  2. 2. C · 拒绝值不满足某个条件的行
  3. 3. B · 数据定义语言(DDL)
  4. 4. A · 引用它的子行会被自动删除
  5. 5. C · 行在物理上只能按一种顺序存储
  6. 6. C · 'unknown'
  7. 7. B · 丢失更新
  8. 8. A · 它能防止级联中止,因为没有人能读到未提交的写入

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