事项开启和使用

//修改表的引擎
alter table a engine=myisam;
//开启事务
begin;
//关闭自动提交
set autocommit=0;
//扣100
update bank set money=money-100 where bid=1;
//回滚,begin开始的所有sql语句操作
rollback;//开启事务
begin;
//关闭自动提交
set autocommit=0;
//扣100
update bank set money=money-100 where bid=1;
//加100
update bank set money=money+100 where bid=2;
//提交
commit;

实例操作

$dsn = "mysql:host=127.0.0.1;dbname=c58";
try {//通过pdo连接数据库$pdo = new Pdo($dsn,'root','');//把错误设置成异常模式,才能try catch接收$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);//设置字符集$pdo->query("SET NAMES utf8");//开启事务$pdo->query("BEGIN");//关闭自动提交$pdo->query("SET AUTOCOMMIT=0");//转账//扣掉100$pdo->exec('UPDATE bank SET money=money-100 WHERE bid=1');//加上100$pdo->exec('UPDATE bank SET money=money+100 WHERE bid=2');//提交$pdo->query('COMMIT');
} catch (PDOException $e) {$pdo->query('ROLLBACK');echo $e->getMessage();
}

注释:事项可以帮助我们更安全的操作数据

视图的创建删除和使用

//1.创建视图
create view bankview as select bid,bname from bank;
//2.查看视图
show table status where comment='VIEW';
//3.修改视图
alter view bankview as select bid from bank;
//4.删除视图
drop view bankview;

注释:视图是一个虚拟表,可以查询和设置权限

存储过程的创建删除查询和使用

//更变边界符
\d $//创建存储过程
create procedure get_bid(inout n char(20) charset utf8)
beginselect bid from bank where name=n;
end
$//调用
set @name='字符'$
call get_bid(@name)$//存储过程
//1. 创建删除班级的存储过程
//2. 实现删除班级时一并删除此班级中的学生
//3. 调用方式call del_class(1);
//创建表
create table class(cid int unsigned primary key auto_increment,cname char(20) not null default ''
);
create table stu(sid int unsigned primary key auto_increment,sname char(20) not null default '',cid int unsigned not null default 0
);
\d $
create procedure del_class(inout id smallint)
begindelete from class where cid=id;delete from stu where cid=id;
end
$
set @id=1$
call del_class(@id)$//1.in(输出外面传入的值,不能改变外面传入的值)
create procedure a(in id int)
beginselect id;set id=100;
end
$//2.out(不可以输出外面传入的值,能改变外面传入的值)
create procedure b(out id int)
beginselect id;set id=100;
end
$//3.inout(综合上述两种情况)
create procedure insert_data(in num int)
beginwhile num > 0 doinsert into class set cname=num;set num = num - 1;end while;
end
$//查看状态
show procedure status;//删除get_bid这个存储过程
drop procedure get_bid;

存储函数创建删除和使用

//创建
create function hello(s char(20) charset utf8)
returns char(50)
reads sql data
beginreturn concat('hello ',s,' !');
end
$//调用
select hello('hdw')$
+--------------+
| hello('hdw') |
+--------------+
| hello hdw !  |
+--------------+//删除
drop function hello$//创建存储函数
create function getcid(n char(20) charset utf8)
returns int
reads sql data
beginreturn (select cid from stu where sname=n);
end
$
//存储函数可以用在sql语句中
select cname from class where cid=getcid('小猫')$

触发器创建删除和使用

//删除班级自动触发删除学生
create trigger del_class_stu after delete on class
for each row
begindelete from stu where cid=old.cid;
end
$//触发器
创建文章表含标题、作者、发布时间字段
如果只添加了标题,发布时间字段自动设置为当前时间,
作者字段设置为123网
\d $
create trigger this_name before insert on this_table for each row
begin
if new.uname is null then
set new.uname='123';
end if;
if new.timer is null then
set new.timer=unix_timestamp(now());
end if;
end
$//查询已有触发器
show triggers;

注释:触发器是设置好当执行某一个行为时执行另一个方法!

Mysql事项,视图,函数,触发器命令相关推荐

  1. mysql命令行查看表的触发器_Mysql事项,视图,函数,触发器命令(详解)

    事项开启和使用 //修改表的引擎 alter table a engine=myisam; //开启事务 begin; //关闭自动提交 set autocommit=0; //扣100 update ...

  2. WebDay18 MySQL存储过程 存储函数 触发器 事务

    MySQL存储过程 存储函数 触发器 事务 一.MySQL存储过程和函数 1.存储过程和函数的概念 2.存储过程和函数的好处 3.存储过程和函数的区别 4.创建存储过程 5.调用存储过程 6.查看存储 ...

  3. MySQL 之 视图、触发器、存储过程、函数、事物与数据库锁

    浏览目录: 1.视图 2.触发器 3.存储过程 4.函数 5.事物 6.数据库锁 7.数据库备份 1.视图 视图:是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据 视 ...

  4. MySQL中视图和触发器学习

    创建视图的语法: 其中,algorithm是可选参数,表示视图选择的算法,它有三个选项:undefined,merge,temptable.Undefined表示让MySQL自动选择所要使用的算法:m ...

  5. MySQL 之 视图、触发器、流程控制、函数

    文章目录 视图 视图概念 视图好处 视图的操作 触发器 触发器的特点 触发器的操作 流程控制 自定义函数 内置函数 视图 视图概念 视图可以简单理解成虚拟表,它和数据库中真实存在数据表不同,视图中的数 ...

  6. MySQL 之视图、 触发器、事务、存储过程、内置函数、流程控制、索引(一)

    阅读目录 本文内容: 视图 触发器 事务 存储过程 内置函数 流程控制 索引 一.视图 视图就是通过查询得到一张虚拟表,然后保存下来,下次直接使用即可. 如果要频繁使用一张虚拟表,可以不用重复查询 视 ...

  7. MySQL 之视图、 触发器、事务、存储过程、内置函数、流程控制、索引(二)

    继上文 --------------------------------------------------------------------注:如果你对python感兴趣,我这有个学习Python ...

  8. MySQL之视图、触发器、事务、存储过程

    http://www.cnblogs.com/linhaifeng/articles/7495918.html 视图 ​ 试图就是一个虚拟表(非真实存在),本质就是[根据sql语句获取动态的数据集,并 ...

  9. mysql 事务 视图 存储过程 触发器

    一 ,mysql事务 MYSQL中只有INNODB类型的数据表才能支持事务处理. 启动事务有两种方法 (1) 用begin,rollback,commit来实现 begin 开始一个事务rollbac ...

  10. MySQL— 索引,视图,触发器,函数,存储过程,执行计划,慢日志,分页性能...

    一.索引,分页性能,执行计划,慢日志 (1)索引的种类,创建语句,名词补充(最左前缀匹配,覆盖索引,索引合并,局部索引等): import sys # http://www.cnblogs.com/w ...

最新文章

  1. Java面向对象:覆写与重载
  2. SpringBoot整合WebSocket
  3. 基于开源jabber(XMPP)架设内部即时通讯服务的解决方案
  4. Android 体系结构和应用程序组成
  5. 怎样查找html概念,HTML一般概念_html
  6. 资源放送丨《一次特殊的Oralce硬解析性能问题的技术分享》PPT视频
  7. git暂存工作区stash
  8. HDU 5974 2016ICPC大连 D: A Simple Math Problem
  9. 第61篇 笔记-Go 基础
  10. 漏洞补丁:漏洞命名(CVE和CNNVD)及补丁查找
  11. phpQuery—基于jQuery的PHP实现
  12. SSD目标检测(Single Shot MultiBox Detector)(一)
  13. 人工智能与商业智能,区别、定位与联系
  14. 小米笔试题 风口的猪-中国牛市
  15. SQL语句----CASE WHEN 的用法简介
  16. mysql 授权root帐号可以远程访问,导入sql文件,登录mysql用root帐号,设置密码
  17. Learning Deep Similarity Models with Focus Ranking for Fabric Image Retrieval 学习笔记
  18. 算法逻辑题-海盗分金币问题
  19. 视频教程-Oracle12数据库管理/DBA/数据库工程师培训-Oracle
  20. matlab中的sin(函数)

热门文章

  1. 转载---LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
  2. MySQL MGR集群搭建
  3. 全渠道java b2b b2c o2o平台
  4. Xamarin.Android开发实践(十四)
  5. Java对PHP服务器hmac_sha1签名认证方法的匹配实现
  6. MySql数据同步(双机热备)已正式应用上平台
  7. mysql设置utf8_unicode_ci字符集php页面输出??乱码的解决方法
  8. Entity Framework 4 in Action读书笔记——第四章:使用LINQ to Entities查询:执行手动查询...
  9. 消除桌面虚拟化应用的存储瓶颈
  10. 管理低代码公民开发人员的8个技巧