mysql数据库技术教案内容摘要:
Mysql数据库应用 课程名称 触发器使用 授课教师 授课班级 授课时数 2 授课方式 理论课 授课重点、难点 创建触发器 触发器的删除 授课内容、教具与时间分配 为什么要用触发器 我们在 MySQL 中包含对触发器的支持是由于以下原因 : MySQL早期版本的用户长期有需要触发器的要求。 我们曾经许诺支持所有 ANSI标准的特性。 您可以使用它来检查或预防坏的数据进入数据库。 您可以改变或者取消 INSERT, UPDATE以及 DELETE语句。 您可以在一个会话中监视数据改变的动作。 语法 1. 语法:命名规则 CREATE TRIGGER 触发器名称 { BEFORE | AFTER } { INSERT | UPDATE | DELETE } ON 表名称 FOR EACH ROW 触发器 SQL语句 触发器必须有名字,最多 64 个字符,可能后面会附有分隔符 .它和 MySQL 中其他对象的命名方式基本相象 . ■ trigger_name :标识触发器名称,用户自行指定; ■ trigger_time :标识触发时机,用 before和 after替换; ■ trigger_event :标识触发事件,用 insert, update和 delete替换; ■ tbl_name :标识建立 触发器的表名,即在哪张表上建立触发器; ■ trigger_stmt :触发器程序体。 20 触发器程序可以使用 begin和 end作为开始和结束,中间包含多条语句。 ② 查看触发器 查看触发器语法如下,如果知道触发器所在数据库,以及触发器名称等具体信息: SHOW TRIGGERS from SF_User like usermaps%。 /* 查看 SF_User库上名称和 usermaps%匹配的触发器 */ 如果不了解触发器的具体的信息,或者需要查看数据库上所有触发器,如下: SHOW TRIGGERS。 //查看所有触发器 用上述方式查看触发器可以看到数据库的所有触发器,不过如果一个库上的触发器太多,由于会刷屏,可能没有办法查看所有触发器程序。 ③ 删除触发器 删除触发器语法如下: DROP TRIGGER [schema_name.]trigger_name 小结 复习 思考题 参考书 本节讲述了 触发器的使用 : 复习题目: 1. 如何创建触发器。 教材:《 mysql实用教程 》 《 mysql入门很简单》清华大学出版社 Mysql数据库应用 课程名称 SQL查询语句 授课教师 授 课班级 授课时数 8 授课方式 理论课 21 授课重点、难点 基本查询语句 使用集合函数查询 连接查询 授课内容、教具与时间分配 SELECT 被用来检索从一个或多个表中精选的行。 select_expression 指出你想要检索的列。 SELECT 也可以用 来检索不引用任何表的计算行 select*from table1。 select field1,field2 from table1。 select count(*)from table2。 select , from table1,table2 where =39。 valed139。 select *from table1 where field1=39。 valed139。 and fiels2=39。 valed239。 orded by field1。 select*from table1 where filed1=39。 valed139。 order byfiled1 desc linit n。 select *from table2 where name like 39。 %$lin%39。 (模糊 ) sub_selects(高级 ) select *from table1 where id In(select id from table2......)。 select ...into table...(高级 ) (可用 select...into outfile...。 insert...selkect...替代 ) SELECT MAX(field1) AS field1 FROM table1 列的最大值 其中:表: table \字段: field 集合 函数查询 对一个表中的记录进行数据统计。 例如,如果你想统计存储在表中的一次民意测验的投票结果。 或者你想知道一个访问者在你的站点上平均花费了多少时间。 要对表中的任何类型的数据进行统计,都需要使用集合函数。 你可以统计记录数目,平均值,最小值,最大值, 22 或者求和。 当你使用一个集合函数时,它只返回一个数,该数值代表这几个统计值之一。 这些函数的最大特点就是经常和 GROUP BY 语句配合使用,需要注意的是集合函数不能和非分组的列混合使用。 行列计数 计算查询语句返回的记录行数 直接计算函数 COUNT(*)的 值 计算字段的平均值 需要计算这些值的平均值。 使用函数 AVG(),你可以返回一个字段中所有值的平均值。 SELECT AVG(vote) FROM opinion 计算字段值的和 SELECT SUM(purchase_amount) FROM orders 计算字段值的极值 求字段的极值,涉及两个函数 MAX()和 MIN()。 SELECT name,MIN(birth) FROM pet。 mysql多表连接查询 inner join,full outer join,left join,right jion 内部连接 inner join 两表都满足的组合 full outer 全连 两表相同的组合在一起, A表有, B表没有的数据(显示为 null) ,同样B表有 23 A表没有的显示为 (null) A表 left join B表 左连 ,以 A表为基础, A表的全部数据, B表有的组合。 没有的为 null A表 right join B表 右连 ,以 B表为基础, B表的全部数据, A表的有的组合。 没有的为null 一、外连接 :包括左向外联接、右向外联接或完整外部联接 : left join 或 left outer join (1)左向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。 如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值 (null)。 (2)sql 语句 select * from table1 left join table2 on = : right join 或 right outer join (1)右向外联接是左向外联接的反向联接。 将返回右表的所有行。 如果右表的某行在左表中没有匹配行,则将为左表返回空值。 (2)sql 语句 select * from table1 right join table2 on = :full join 或 full outer join (1)完整外部联接返回左表和右表中的所有行。 当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。 如果表之间有匹配行,则整个结果集行包含基表的数据值。 (2)sql 语句 select * from table1 full join table2 on = 二、内连接 24 :内联接是用比较运算符比较要联接列的值的联接 : join 或 inner join 语句 select * from table1 join table2 on = 三、交叉连接 (完全 ) :没有 WHERE 子句的交叉联接将产生联接所涉及的表的笛卡尔积。 第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小。 ( table1和 table2交叉连接产生 3*3=9条记录) : cross join (不带条件 where...) select * from table1 cross join table2 小结 复习 思考题 参考书 本节讲述了 部分查询操作 : 复习题目: 1. 练习表的查询。 教材:《 mysql实用教程 》 《 mysql入门很简单》清华大学 出版社 Mysql数据库应用 课程名称 Mysql插入更新删除 授课教师 授课班级 授课时数 4 授课方式 理论课 授课 Mysql的插入更新删除方法 25 重点、难点 授课内容、教具与时间分配 1 插入、更新和删除记录 1. 1 插入记录 Insert into table_name (field_name1, field_name2, …) values (value1, value2, …)。 Insert into values (value1, value2, …)。 // 这种形式只能应用 于值的顺序与字段顺序匹配的情况(可以通过调用 describe 命令来决定字段顺序)。 包含引用标志的值需要再引号 ’前面加上反斜线 \ //转义字符 注意: into 关键字是可选的 也可以同时插入多个值,用逗号分开 Eg: insert table_name values (value1, value2, …), (value3, value4, …) ; 还可以不使用 insert… values 格式,而使用类似 update 语句,它使用 set 子句分别为每一列设置值。 Insert into table_name set field_name1 = value1, field_name2 = value2,… ; 使用 default 值 Create table table_name (field_name1 type default def_value not null,…)。 Insert table_name values (default,…)。 //default 关键字只在 以及更高版本才支持 使用 AUTOINCREMENT 字段 自动产生下一个序号,该字段必须被设置为主键 使用 UNIQUE 字段 使用 IGNORE关键字或者 ON DUPLICATE KEY UPDATE 子句跳过 INSERT、中断操作或者更新旧记录为新值。 INSERT IGNORE INTO TABLE_NAME (UNIQUE_FIELD, …) VALUES (REPEAT, …)。 如果重复记录,则不会报告错误,也不会更新记录,数据库中的数据保持不变。 ON DUPLICATE KEY UPDATE 和 REPLACE区别:前者只把已命名的字段更新为新值,后者删除了旧记录,然后用新值完全替换。 Eg: insert into Menu value (null, ‘MySQL’, ‘’) on duplicate key update label=’MS SQL’, url=’’。 在这种情况下,如果 MySQL 发现表中已经包含具有相同唯一键的记录,则会自动更新旧的记录为 ON DUPLICATE KEY UPDATE 从句中指定的新值。 当有很多 insert 语句需要被顺序执行时, IGNORE 关键字就使操作变得很方便。 这可以保证不管拿一个INSERT 包含了重复值, MySQL 都会跳过而不放弃全部 操作。 1. 2 更新记录 UPDATE TABLE_NAME SET FIELD_NAME=VALUE, SET FIELD_ANOTHER=VALUE_ANTOHER,… WHERE … 如果省略了 where 子句,表中的每行都会收到 update 的影响而改变 精细操作:当执行 INSERT 或者 UPDATE 操作时,可以通过使用 LOW_PRIORITY 和 DELAYED 关键字使 MySQL 客户执行等待,知道成功完成操作或者排队等候服务器进行处理。 LOW_PRIORITY 关键字阻止语句执行知道没有其他线程使用这个表, 从而强制客户等待,知道语句完全被执行。 在应用中可靠性是最终要的,添加这个关键字可以帮助提高 SQL 事务处理以及在它上面的业务逻辑的完整性。 DELAYED 关键字和 LOW_PRIORITY 关键字相反,把要执行的语句放在一个对垒中(在 server 的存储 26 器内)就立即让客户退出。 当处理繁忙的数据库服务时,这一点在提高应用程序的性能方面尤其重要,意味它可以提高客户相应时间(但是比较冒险 ――― 如果服务器崩溃,在服务器队列中的所有请求都会丢失)。 这两个关键字不适用与 InnoDB 表。 1. 3 删除记录 MySQL 允许使用 delete 和 truncate 语句删除数据。 DELETE 语句可以允许从表中删除记录,支持 where DELETE FROM TABLE_NAME。mysql数据库技术教案
相关推荐
图 5 编码过程框图 译码过程 如图 5 所示: 图 6 译码过程框图 信源编码 输出信号 信源译码 编码 量化 抽样 模拟信号 设计方案如图 6 所示: 图 7 设计方案框图 在主函数中,先产生一个模拟信号,再经过抽样后得到抽样值,将抽样值通过 13拆线法转换成对应值,将转换后的值经过量化和编码后得到 0、 1 比特流,完成信源编码。 信源编码不能直接在通信系统内进行传输,需要经过数字调制
系数可考虑。 这样配用功率的公式应为 P===。 涡流选粉机传动方案设计 本次设计的涡流选粉机通常有原动机,传动装置和工作装置三个基本职能部分组成。 传动装置传送原动机的动力,变化其运动,以实现工作装置预定的工作要求,它是机器的主要组成部分。 实践证明,传动装置的重量和成本通常在整台机器中占有很大的比重 ;机器的工作性能和运转费用在很大程度上也取决于传动装置的性能,质量及设计布局的合理性。
或混凝土 , 并能承受相应设备运行重量。 使用挂墙配件时 , 请遵守挂墙配件内的操作说明 Note: 请从操作手册先查阅设备 重 量 设备需在以下安全的环境的条件下运行 : • 室内 • 高度低于 海拔 2020 米 • 室温在 5 40176。 C 之间 • 无空调 时最大 相对湿度 80% @31176。 C; 最大 相 对湿度 50% @ 40176。 C 按照 IEC10101,
..................................................... 102 吊车梁 ......................................................................................................................... 104 简支组合梁 .....
CRC 字节初始化 */ unsigned char uchCRCLo = 0xFF。 /* 低 CRC 字节初始化 */ unsigned uIndex。 /* CRC 循环中的索引 */ while (usDataLen) /* 传输消息缓冲区 */ { uIndex = uchCRCHi ^ *puchMsg++。 /* 计算 CRC */ uchCRCHi = uchCRCLo ^
eye() 创建对角元素为 1,其他元素为 0 的矩阵 diag() 根据向量创建对角矩阵,即以向量的元素为对角元素 magic() 创建魔方矩阵 rand() 创建随机矩阵,服从均匀分布 randn() 创建随机矩阵,服从正态分布 武汉理工大学《 Matlab 课程设计》说明书 10 randperm() 创建随机行向量 horcat C=[A,B],水平聚合矩阵,还可以用 cat(1,A