mysql 学习笔记 day06
来源:互联网 发布:java web视频点播系统 编辑:程序博客网 时间:2024/06/07 09:12
/*视图操作create | alter view_name as select column_name from table_name;*/---------------------------事物操作-------------------------------------/*原子性一致性隔离性持久性*/create table `class`(id int primary key auto_increment,cz_money decimal(10, 2) comment '班费' );insert into `class` values(null, 1250);create table student(id int primary key auto_increment,stu_money decimal(10, 2) comment '学生拥有的钱');insert into student values(null, 5000);-- 班费update student set stu_money=stu_money-30 where id =1;update `class` set cz_money = cz_money +30 where id =1;-- 将一组sql语句整体运行,运行失败回滚程序show variables like 'autocommit';set autocommit=0;-- 利用commit提交事务-- --------------------------------------触发器----------------------------------- 监听数据库的操作:-- 创建触发器:create trigger 名字 事件 执行代码;create trigger jiaobanfei after update on studentfor each row update class set cz_money = cz_money+90;-- 事件insertupdatedelete-- 事件的时机和事件在一起形成笛卡尔乘积-- before insertupdatedeletebefore insert |update |delete -- after insertupdatedeleteafter insert |update |delete -- 执行代码-- sql 脚本代码update student set stu_money = stu_money+80 where id = 1;/*注意:触发器不能同名;目前mysql只支持一类事件只有一个触发器6种触发器show create trigger trigger_name;(old.stu_money - new.stu_money)当事件是insert不能用old或是delete不能用newold 触发该触发器的表 on 之后的表 事件发生之前new 触发该触发器的表 on 之后的表 事件发生之后*/update student set stu_money=stu_money-50 where id =1;drop trigger jiaobanfei;create trigger jiaobanfei after update on studentfor each row update `class` set cz_money=(old.stu_money - new.stu_money);-- 如果一个触发程序有多个sql组成:-- 应该:--1、用begin end 作为标识语句块--2、语句块内用“;”作为定界符delimiter $$ -- 修改语句结束符create trigger ruxue after insert on student for each rowbeginupdate class set stu_count = stu_count+1;update class set cz_money = cz_money+20;end$$delimiter ; -- 再改回来/*mysql 编程set 变量名=变量值set @who='刘瑞斌';通过select可以获得当前变量值select @who;定义一个变量selectinfoselect 列 into 变量列表select 10,15,20 into @a,@b,@c;select @a,@b,@c;select -----into @var 只能返回一行= 应该是赋值,但在sql中是判断,写成:=set @i := '流';select @who:='流';自定义函数delimiter $$create function sayHello() returns varchar(20)begin return 'hello world';end$$delimiter ;调用select sayHello();多分枝:if 条件 thenelseif 条件2 thenend*/
0 0
- mysql 学习笔记 day06
- C++学习笔记 day06
- Oracle学习笔记--day06
- Linux学习笔记 -- day06 配置yum、安装mysql、jdk、tomcat等
- 黑马程序员 java学习笔记(day06)
- 21天学通Java学习笔记-Day06
- 面向对象 +JAVA学习笔记-DAY06
- struts2学习笔记 -- day06 OGNL表达式用法
- spring学习笔记 -- day06 动态代理
- day06笔记
- day06笔记
- day06-学习
- Android学习笔记 day06 _ Android四大组件之Activity
- 黑马程序员_Java基础_我的day06学习笔记
- java学习笔记——毕向东视频day06
- Lucene学习笔记 -- day06 索引库的维护
- solr学习笔记 -- day06 模拟京东实现站内搜索
- java毕向东学习笔记——day06
- 黑马程序员 Foundation框架(续)
- Sicily 1720. Turing-M Programming
- scanf输入字符串问题
- Sicily 1719. Ellipse Intersection
- 下载youtube上视频的姿势大全
- mysql 学习笔记 day06
- Sicily 1718. University Rankings
- Sicily 1717. Computer
- Android中的依赖注入:Dagger函数库的使用(一)
- JaveTest
- CSU 1506: Double Shortest Paths(最小费用流)(湖南省第十届省赛)
- Ubuntu 下打开文档文件的命令 xls doc
- VCS使用学习
- 广州联想笔记本维修中心