数据库查询与通配符操作详解
需积分: 10 102 浏览量
更新于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`字段的非空约束,导致错误。需要注意的是,即使插入语句出错,后续的语句仍可继续执行,这是数据库管理系统处理事务的一种方式,通常在自动或手动提交模式下,错误不会阻止整个事务的执行。
本资料涵盖了数据库查询的通配符使用,以及数据库设计和数据完整性方面的知识,包括表的创建、外键约束、主键约束、检查约束和数据插入操作,是数据库学习的重要内容。
2022-05-30 上传
2011-12-27 上传
2021-10-05 上传
点击了解资源详情
点击了解资源详情
2021-10-02 上传
2021-10-03 上传
2021-10-05 上传
2023-07-30 上传
杜浩明
- 粉丝: 13
- 资源: 2万+
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜