1.简单
哪条 SQL 语句修改已存在的行中的值?
- AINSERT
- BMODIFY
- CUPDATE
- DREPLACE COLUMN
2.简单
哪条语句用于从表中删除行?
- ADROP
- BDELETE
- CREMOVE
- DTRUNCATE COLUMN
3.简单
什么是代理键?
- A由电子邮件地址等真实数据构成的键
- B没有业务含义的人工标识符,例如自增 id
- C引用另一个表的键
- D只在视图中使用的键
4.中等
什么是 SQL 注入(SQL injection)?
- A用一条 INSERT 语句快速插入大量行的技术
- B一种数据库备份技术
- C用户输入改变 SQL 查询结构的一种攻击
- D添加索引的一种方式
5.中等
一个表在每一行订单上都存储了客户地址。只修改其中一行的地址而不修改其他行,这是哪种情况的例子?
- A更新异常
- B删除异常
- C幻读
- D插入异常
6.中等
第三范式(3NF)消除了:
- A非键属性之间的传递依赖
- B建立在不属于任何键的列上的冗余索引
- C复合键
- D原子值
7.困难
两个事务都读到 stock = 10,各自减 1 后写回结果,最终得到 9 而不是 8。这是哪种异常?
- A幻读
- B脏读
- C删除异常
- D丢失更新
8.困难
下列查询返回什么:SELECT name FROM students WHERE grade > (SELECT AVG(grade) FROM students)?
- A成绩高于平均成绩的学生
- B所有学生的平均成绩
- C仅成绩最高的学生
- D报错,因为 WHERE 中不允许使用子查询
答案
- 1. C · UPDATE
- 2. B · DELETE
- 3. B · 没有业务含义的人工标识符,例如自增 id
- 4. C · 用户输入改变 SQL 查询结构的一种攻击
- 5. A · 更新异常
- 6. A · 非键属性之间的传递依赖
- 7. D · 丢失更新
- 8. A · 成绩高于平均成绩的学生
完整分步解答:请在 examproblems.com 上练习本主题。