项目五 数据库编程(课件)-《MySQL数据库》同步教学(电子工业版)

2024-06-27
| 37页
| 124人阅读
| 1人下载
普通

内容正文:

项目五 数据库编程 任务1 编程基础知识 任务2 事务处理 任务3 事件 任务1 编程基础知识 任务引入 小白不仅想查询数据,还想对表中的数据进行运算和控制。那么,怎么利用SQL语言进行编程满足要求呢?编写的程序中会用到什么运算符、函数以及变量呢? 知识准备 一、运算符 MySQL 支持 4 种运算符,分别是算数运算符、比较运算符、逻辑运算符和位运算符 1. 算术运算符 算术运算符在两个表达式上执行数学运算,这两个表达式可以是数字数据类型分类的任何数据类型。 数学计算结果 2.比较运算符 包括大于、小于、等于或不等于等等。比较运算符可以用于比较数字、字符串和表达式的值。注意,字符串的比较是不区分大小写的。 (1)等于运算 (2)不等于运算符 (3)小于等于运算符 相等判定结果 不相等判定结果 小于等于判定结果 (4)小于运算符 (5)IS NULL和IS NOT NULL运算符 (6)BETWEEN AND 运算符 3.逻辑运算符 包括与、或、非和异或等逻辑运算符。 小于比较判定结果 空值判定结果 区间值判定结果 逻辑非运算结果 逻辑与运算结果 逻辑或运算结果 4.位运算符 包括按位与、按位或、按位取反、按位异或、按位左移和按位右移等位运算符。 (1)位或运算符| (2)位与运算符& 逻辑异或运算结果 位或运算结果 位与运算结果 (3)位异或运算符^ (4)位左移运算符<< (5)位右移运算符>> (6)位取反运算符~ 5.运算符的优先等级 不同运算符的优先级是不同的。一般情况下,级别高的运算符优先进行计算,如果级别相同,MySQL 按表达式的顺序从左到右依次计算,见表。 位异或运算结果 位左移运算结果 位右移运算结果 位取反运算结果 二、变量 在MYSQL中,变量分为系统变量、用户变量和局部变量。 1.系统变量 (1)全局变量:以@@打头,如@@global.variable_name。 (2)会话变量 会话变量存活周期是当前connection,connection断掉后,变量释放。 全局字符集设置 查看会话变量中的字符集设置 3. 用户定义变量 在mysql中用户变量不用提前申明,在用的时候直接用“@变量名”使用就可以了。 案例——查询类型编号为03的书籍类型。 案例——查询类型编号为04且在2015年1月前出版的书籍。 查询类型编号为03的书籍类型 查询类型编号为04且在2015年1月前出版的书籍 三、函数 MySQL 函数是 MySQL 数据库提供的内部函数,这些内部函数可以帮助用户更加方便地处理表中的数据。函数就像预定的公式一样存放在数据库里,每个用户都可以调用已经存在的函数来完成某些功能。 MySQL 函数包括数值函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数和加密函数等。 SELECT、INSERT、UPDATE 和 DELETE 语句及其子句(例如 WHERE、ORDER BY、HAVING 等)中都可以使用 MySQL 函数。 1.数值函数 数值函数主要用于处理数字。这类函数包括绝对值函数、正弦函数、余弦函数和获得随机数的函数等,见表。 数值函数 5,-5.5和-55的绝对值 16,36和-81的平方根 16/3,36/3和-81/4的余数。 -3.1,3.1的整数 获取随机数 幂运算 对数运算 角度与弧度相互转换 2. 字符串函数 字符串函数主要用于处理字符串。其中包括字符串连接函数、字符串比较函数、将字符串的字母都变成小写或大写字母的函数和获取子串的函数等,见表。 字符串字符数的长度 合并字符串 替换字符串 字母大小写转换 获取指定长度的字符串 反转字符串 案例——查询借书证号第一位为“7”的读者信息。 3. 日期和时间函数 日期和时间函数主要用于处理日期和时间。其中包括获取当前时间的函数、获取当前日期的函数、返回年份的函数和返回日期的函数等,见表。 查询借书证号第一位为“7”的读者信息 日期和时间函数 案例——查询登记时间在10月的读者信息。 获取系统当前日期 查询登记时间在10月的读者信息。 获取星期 获取年份 4. 系统信息函数 系统信息函数主要用于获取 MySQL 数据库的系统信息。其中包括获取数据库名的函数、获取当前用户的函数和获取数据库版本的函数等,见表。 查询MySQL服务器的版本号 查询MySQL服务器的连接次数 查询当前数据库名称 查询当前用户名称 查询字符串的字符集 5. 加密函数 加密函数主要用于对字符串进行加密解密。其中包括字符串加密函数和字符串解密函数等,见表。 6. 条件判断函数 在MySQL中使用IF或IFNULL两个函数来实现条件判断。 (1)IF 判断大小 (2)IFNULL 案例——查询书籍的登记日期。 查询书籍的登记日期 任务2 事务处理 任务引入 小白需要对之前做的数据库进行大量的修改,但是他又担心修改后不对还得一点一点恢复,他咨询老师,怎么处理这个问题,老师告诉他可以采用事物处理来解决这一问题。那么,什么是事物,事物又分为哪些类别呢?怎么执行事物处理呢? 知识准备 在MySQL 中事务主要用于处理操作量大,复杂度高的数据。比如说,在图书管理系统中,删除一本图书,既需要删除图书的基本资料,也要删除和该图书相关的信息,如借阅信息等等,这样,这些数据库操作语句就构成一个事务! 一、事务处理概述 事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。 1.事务特性 一个逻辑工作单元必须有4个属性,称为ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务。 2.事务分类 按事务的启动和执行方式,可以将事务分为3类: 显式事务 自动提交事务 隐性事务 二、执行事务 执行事物处理通过BEGIN、START TRANSACTION、COMMIT、ROLLBACK等语句来完成。 1.启动事务 2.提交事务 如果没有遇到错误,可使用COMMIT 语句成功地结束事务。 3.回滚事务 如果事务中出现错误,或者用户决定取消事务,可回滚该事务。 案例——启动一个事务向book_sort表中插入一个记录,然后回滚该事务。 (1)启动事物并插入记录,然后回滚该事物。 (2)查询book_sort表。 4.在事务内设置保存点 MYSQL提出了一个保存点的概念,就是在事务对应的数据库语句中打几个点,在调用ROLLBACK语句时可以指定会滚到哪个点,而不是回到最初的原点。 (1)定义保存点 (2)回滚到保存点 (3)删除某个保存点 启动事物并插入记录,然后回滚该事物 查询book_sort表 案例——启动一个事务并设置保存点,然后回滚该事务。 (1)启动事物并设置保存点,然后回滚该事物。 (2)查询book_sort表。 设置保存点并回滚事物 查询book_sort表 任务3 事件 任务引入 小白想要创建一个事件在相应的时刻调用数据库对象,这样避免重复操作。那么,什么是事件?怎么创建事件呢? 知识准备 一、事件概述 事件(event)是MySQL在相应的时刻调用的过程式数据库对象。一个事件可调用一次,也可周期性的启动,它由一个特定的线程来管理的,也就是所谓的“事件调度器”。 事件和触发器类似,都是在某些事情发生的时候启动。当数据库上启动一条语句的时候,触发器就启动了,而事件是根据调度事件来启动的。由于他们彼此相似,所以事件也称为临时性触发器。 事件取代了原先只能由操作系统的计划任务来执行的工作,而且MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务只能精确到每分钟执行一次。 二、创建事件 每个事件由两个主要部分组成,第一部分是事件调度(eventschedule,表示事件何时启动以及按什么频率启动; 第二部分是事件动作(event action),这是事件启动时执行的代码,事件的动作包含一条SQL语句,它可能是一个简单地insert或者update语句,也可以使一个存储过程或者benin...end语句块。 一个事件可以是活动(打开)的或停止(关闭)的,活动意味着事件调度器检查事件动作是否必须调用,停止意味着事件的声明存储在目录中,但调度器不会检查它是否应该调用。在一个事件创建之后,它立即变为活动的,一个活动的事件可以执行一次或者多次。 案例——创建每3秒启动事件。 (1)创建测试表。 (2)创建事件。 三、开启关闭事件调度器 MySQL事件调度器event_scheduler负责调用事件,它默认是关闭的。这个调度器不断地监视一个事件是否要调用, 要创建事件,必须打开调度器。 案例——查看调动器是否开启。 1.创建测试表。 2.开启事件调度器 3.关闭事件调度器 创建测试表 创建事件 创建测试表 项目总结 习题 1. MySQL 支持哪些运算符? 2. 什么是全部变量?什么是回话变量?如何标识它们? 3. 函数包括哪些?哪些语句可以使用函数? 4. 什么是事务?事务的特点是什么? 5.什么是事件?事件和触发器有什么不同? 项目实战 实战一 查询入职时间在7月的职工信息。 实战二 查询在1980年1月前出生的男性职工。 实战三 查询工资为“5”开头的职工信息。 实战四 根据党员的查询职工姓名。 实战五 启动一个事务并设置保存点,然后回滚该事务。 (1)启动事物并设置保存点,然后回滚该事物。 (2)查询depart表。 $$

资源预览图

项目五  数据库编程(课件)-《MySQL数据库》同步教学(电子工业版)
1
项目五  数据库编程(课件)-《MySQL数据库》同步教学(电子工业版)
2
项目五  数据库编程(课件)-《MySQL数据库》同步教学(电子工业版)
3
项目五  数据库编程(课件)-《MySQL数据库》同步教学(电子工业版)
4
项目五  数据库编程(课件)-《MySQL数据库》同步教学(电子工业版)
5
项目五  数据库编程(课件)-《MySQL数据库》同步教学(电子工业版)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。