S2-4.1
创建和查看视图。
精编讲义 v1#
视图(View)的本质、创建、查看与删除语法
必记- 视图的本质:视图是从一张或多张基本表导出的虚拟表,数据库中只存放视图的定义(SELECT 查询语句),不存放视图对应的数据;基本表数据变化会自动反映到视图中。
- 创建或替换视图:
CREATE [OR REPLACE] VIEW 视图名[(列名列表)] AS SELECT查询语句 [WITH CHECK OPTION];(其中WITH CHECK OPTION保证通过视图增删改时必须满足视图的WHERE条件)。 - 查看与删除视图:
DESCRIBE 视图名;或SHOW CREATE VIEW 视图名;查看定义;DROP VIEW [IF EXISTS] 视图名;删除视图。
随堂自测(3 题 · 共 157 道关联题)展开作答
填空2 分自测不计入学习进度
从基本表或其它视图中导出的表称为____。
单选2 分自测不计入学习进度
下列关于 SQL用户视图的叙述中,错误的是_________。
单选2 分自测不计入学习进度
在视图的定义语句中, 只能包含 ____。
S2-4.2
用视图检索和修改基本表中数据。
精编讲义 v1#
视图查询与不可更新视图的判定条件
必记- 通过视图查询:语法与查询普通表完全一致(
SELECT * FROM 视图名 WHERE ...;),系统在底层自动合并视图定义查询基本表。 - 不可更新视图(必考判断):若视图定义中包含 聚合函数(
SUM/AVG/COUNT/MAX/MIN)、DISTINCT、GROUP BY、HAVING、UNION或算术表达式计算列,则不能对该视图执行INSERT / UPDATE / DELETE。
随堂自测(3 题 · 共 79 道关联题)展开作答
单选2 分自测不计入学习进度
对于 UPDATE 语句的实现说法正确的是____。
填空2 分自测不计入学习进度
当对视图进行 UPDATE、INSERT 和 DELETE 操作时,为了保证被操作的行满足视图定义中子查询语句的谓词条件,应在视图定义语句中使用可选择项 ____。
填空2 分自测不计入学习进度
用 SQL 语句将学号为 100 的学生的专业改为“计算机”。
S2-4.3
创建索引。
精编讲义 v1#
索引的作用、分类与创建/删除语法
必记- 索引的利弊:索引能大幅加快
SELECT查询、连接与排序速度,但会占用额外磁盘空间,并降低INSERT / UPDATE / DELETE的写操作速度(需同步维护索引树)。 - 创建索引三种方式:①
CREATE [UNIQUE | FULLTEXT] INDEX 索引名 ON 表名(列名 [ASC|DESC]);;②ALTER TABLE 表名 ADD [UNIQUE] INDEX 索引名(列名);;③ 建表时在CREATE TABLE内写INDEX 索引名(列名)。 - 查看与删除索引:
SHOW INDEX FROM 表名;查看表上的索引;DROP INDEX 索引名 ON 表名;或ALTER TABLE 表名 DROP INDEX 索引名;删除索引。
随堂自测(3 题 · 共 136 道关联题)展开作答
填空2 分自测不计入学习进度
使用CREATE TABLE语句的____子句,在创建基本表时可以启用全文搜索。
单选2 分自测不计入学习进度
表 test(a int,b int,time date)涉及以下 3 条 sql: select * from test where a=1 and b=1; select * from test where b=1; select * from test where b=1 order by time desc; 只建一个索引,如何建最优()
单选2 分自测不计入学习进度
ALTER TABLE 创建各类索引,错误的是()