数据库查询与通配符操作详解
需积分: 10 54 浏览量
更新于2024-08-23
收藏 540KB PPT 举报
"本次资料主要涉及数据库查询及通配符的使用,并展示了数据库表结构设计以及数据插入的相关操作。在数据库学习中,通配符是进行模糊查询的关键,而表结构设计和完整性则是保证数据正确性的基础。"
在数据库查询中,通配符是一个非常实用的工具,用于进行模糊匹配。在提供的描述中,可以看到一个SQL查询示例,使用了`LIKE`操作符配合通配符来查找以特定字符开头的用户名:
```sql
SELECT uname, sexy FROM users WHERE uname LIKE '武\_' ESCAPE '\';
```
在这个例子中,`LIKE`用于指定查询条件,`'武\_ '`中的`\_`是一个通配符,代表任意一个字符。为了使`\_`不被解析为通配符,我们使用了`ESCAPE '\ '`来定义转义字符`\`,使得`\_`能被当作普通文本处理。这意味着查询将返回所有用户名以“武”开头且紧接着是任意一个字符的用户记录。
接下来,我们关注数据库表的设计。这里有两个表:`book`和`bookCategory`。`book`表包含了书籍的基本信息,如`bookid`(主键)、`isbn`、`bookname`、`catId`(外键)和`authors`等。`isbn`字段带有`CHECK`约束,确保其长度超过3个字符。同时,`bookid`作为主键,通过`ALTER TABLE`语句添加了`fk_book`约束,确保数据的唯一性和完整性。`catId`字段则作为外键,引用了`bookCategory`表的`categoryId`,并且设置了`ON DELETE SET NULL`,意味着当`bookCategory`表中的某个记录被删除时,`book`表中的相应`catId`将被设置为`NULL`。
`bookCategory`表用于存储书籍类别信息,包含`categoryId`(主键)、`categoryName`、`parentCategoryId`(外键)和`cate_desc`。`categoryId`同样有主键约束,`parentCategoryId`作为外键引用自身表的`categoryId`,实现了层级关系,允许创建分类的树状结构。当`bookCategory`表中的记录被删除时,`parentCategoryId`也遵循`ON DELETE SET NULL`规则。
在数据插入部分,演示了如何向`category`和`bookInfo`表中插入记录。首先,尝试向`category`表插入两条记录,接着尝试向`bookInfo`表插入数据。其中,第四条`INSERT INTO`语句试图插入一个`catid`为`null`的记录,这可能会违反`bookInfo`表中`catid`字段的非空约束,导致错误。需要注意的是,即使插入语句出错,后续的语句仍可继续执行,这是数据库管理系统处理事务的一种方式,通常在自动或手动提交模式下,错误不会阻止整个事务的执行。
本资料涵盖了数据库查询的通配符使用,以及数据库设计和数据完整性方面的知识,包括表的创建、外键约束、主键约束、检查约束和数据插入操作,是数据库学习的重要内容。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-10-02 上传
2021-10-05 上传
2021-10-03 上传
2021-10-05 上传
2023-07-30 上传
2021-10-05 上传
杜浩明
- 粉丝: 15
- 资源: 2万+
最新资源
- JavaScript实现的高效pomodoro时钟教程
- CMake 3.25.3版本发布:程序员必备构建工具
- 直流无刷电机控制技术项目源码集合
- Ak Kamal电子安全客户端加载器-CRX插件介绍
- 揭露流氓软件:月息背后的秘密
- 京东自动抢购茅台脚本指南:如何设置eid与fp参数
- 动态格式化Matlab轴刻度标签 - ticklabelformat实用教程
- DSTUHack2021后端接口与Go语言实现解析
- CMake 3.25.2版本Linux软件包发布
- Node.js网络数据抓取技术深入解析
- QRSorteios-crx扩展:优化税务文件扫描流程
- 掌握JavaScript中的算法技巧
- Rails+React打造MF员工租房解决方案
- Utsanjan:自学成才的UI/UX设计师与技术博客作者
- CMake 3.25.2版本发布,支持Windows x86_64架构
- AR_RENTAL平台:HTML技术在增强现实领域的应用