**的核心知识点,主要聚焦于**字符串模式匹配**和**视图查询)
数据库技术基础章节中关于SQL结构化查询语言的核心知识点主要聚焦于字符串模式匹配和视图查询以下是详细解析一、核心知识点拆解1. 字符串操作LIKE 模式匹配SQL中使用LIKE关键字进行字符串模糊查询配合两个通配符实现精准定位通配符含义示例说明%匹配任意长度含0个的字符串Marry%➡️ 匹配Marry、Marry123、Marry_xyz等_匹配任意单个字符_ _%➡️ 匹配至少包含两个字符的字符串前两个_占2位后续%可扩展2. 经典查询案例【例9.27】基于学生关系表S(Sno,Sname,Sex,SD,Age,Add)实现两类模糊查询案例1查询家庭住址包含“科技路”的学生姓名SQL语句SELECTSnameFROMSWHEREAddLIKE%科技路%;解析%匹配“科技路”前后的任意字符精准筛选符合条件的记录。案例2查询名字为“晓军”的学生信息SQL语句SELECTSname,Age,SDFROMSWHERESnameLIKE晓军;解析精确匹配姓名为“晓军”的记录也可简化为Sname 晓军适用于精确匹配LIKE适用于模糊/精确混合匹配。3. 转义字符ESCAPE当查询内容中包含%或_等通配符本身时需用ESCAPE定义转义字符通常用\示例LIKE ab\%cd% ESCAPE \匹配以ab%cd开头后续接任意字符的字符串首个\%表示匹配字面量%而非通配符。4. 视图的查询【例9.28】视图是虚拟表用于简化复杂查询并限制数据访问权限需求建立“计算机系CS”学生的专属视图CS-STUDENT并限制修改/插入操作仅对本系学生生效。SQL语句CREATEVIEWCS-STUDENTASSELECT*FROMSWHERESDCS;-- 过滤条件仅保留计算机系学生核心价值数据安全通过视图屏蔽底层表结构仅暴露授权字段/记录。操作简化将复杂的多表关联/过滤逻辑封装为视图后续直接查询CS-STUDENT即可。二、学习与应用建议区分匹配规则清晰掌握%任意长度和_单个字符的差异复杂场景下优先组合使用。视图应用场景针对高频查询的“特定条件数据集”如各系学生、特定年龄段用户建议创建视图提升查询效率与数据管控能力。实战注意事项使用LIKE进行模糊查询时若字段无索引大数据量表可能存在性能损耗需结合索引优化。SQL 中**字符串模式匹配LIKE与视图VIEW**两大核心知识点覆盖语法规则、典型用例、转义机制及工程实践建议结构清晰、示例准确符合数据库技术基础教学要求。以下是对关键点的凝练总结与补充说明✅LIKE 模式匹配要点强化%和_是SQL 标准通配符仅在LIKE或NOT LIKE中生效不支持通配纯精确匹配。_ _%示例中两个_确保前两位为任意单字符共2位%表示后续可有0个或多个字符 → 实际等价于LENGTH(Sname) 2的模糊约束但非等价于LEN 2因_ _%可匹配恰好2位的字符串。性能提示补充LIKE abc%可利用前缀索引加速而LIKE %abc或LIKE %abc%通常无法使用 B 树索引需依赖全文索引或优化查询逻辑。✅视图要点深化视图本身不存储数据其定义保存在数据字典中每次查询视图DBMS 动态执行底层SELECT语句。【例9.28】中创建的CS-STUDENT是行列子集视图行过滤SDCS列未限定即SELECT *满足“安全性”与“简化性”双目标。进阶注意若需对视图执行INSERT/UPDATE须确保视图可更新如无聚合、无DISTINCT、无GROUP BY、基表主键列必须包含等并常配合WITH CHECK OPTION强制修改后仍满足视图定义条件例如CREATE VIEW CS-STUDENT AS ... WITH CHECK OPTION可防止将非 CS 学生插入该视图。✅ESCAPE 使用规范ESCAPE后指定的转义字符本身在模式中需连续出现两次才表示字面量如ESCAPE \时\\表示反斜杠字符\%表示百分号字面量。推荐使用不易冲突的转义符如$、#避免\在某些客户端如 MySQL 命令行被预解析。-- 安全转义示例用 # 作转义符SELECT*FROMSWHEREAddLIKE%科技#_路%ESCAPE#;-- 匹配含科技_路的地址