当前位置: 首页 > news >正文

北京怀柔区建设委员会网站热狗seo外包

北京怀柔区建设委员会网站,热狗seo外包,给金融的做网站 犯法吗,网站设计培训费用是多少使用存储过程 存储过程 简单来说就是为了以后的使用而保存的一条或多条MySQL语句的集合。 我觉得就是封装了一组sql语句 为什么需要存储过程(简单来说就是,简单、安全、高性能 通过把处理封装在容易使用的单元中,简化复杂操作所有开发人员…

使用存储过程

存储过程
简单来说就是为了以后的使用而保存的一条或多条MySQL语句的集合。
我觉得就是封装了一组sql语句

为什么需要存储过程(简单来说就是,简单、安全、高性能

  • 通过把处理封装在容易使用的单元中,简化复杂操作
  • 所有开发人员和应用程序都是用同一存储过i成,则使用的sql语句都是一样的,保证了数据的完整性(防止数据库中存在不正确的数据
  • 简化对变动的管理,保证了数据库的安全性(防止数据库中存在不正确的数据
  • 提高了性能
  • 增加了代码功能的灵活性

执行存储过程

CALL procedure_name(参数);

创建存储过程

CREATE POCEDURE procedure_name()
BEGINSQL语句
END

MYSQL命令行客户机的分隔符
默认的MYSQL语句分割符为 ;
如果希望自定义分隔符,可以使用 DELIMITER关键字

DELIMITER //
CREATE PROCEDURE procedure_name
BEGINSQL 语句
END //DELIMITER ;

存储过程实际上是一种函数,所以存储过程名后边需要有 ()

删除存储过程

存储过程在创建之后,被保存在服务器上以供使用,直到被删除

DROP PROCEDURE procedure_name;

注意,只需要给出存储过程名,不需要加 ()

使用参数

变量
内存中的一个特定的位置,用来临时存储数据

参数的数据类型
存储过程的参数允许的数据类型与表中使用的数据类型相同

变量名
MYSQL中所有变量都必须以@开始

游标

为什么需要游标
MySQL检索操作,返回一组成为结果集的行,有时,需要在检索出来的行中前进或者后退几行,这就需要游标

游标的定义
游标是一个存储在MySQL服务器上的数据库查询,它是被语句查询出来的结果集
在存储了游标以后,应用程序可以根据需要滚动或浏览器中的数据
游标主要用于交互式应用,其中用户需要滚动屏幕上的数据,并对数据进行浏览或做出更改

使用游标

  • 使用游标前,需要声明游标,这个过程实际上没有检索数据,只是定义要使用的select语句
  • 声明游标以后,需要将它打开来使用,这个过程会使用上一步定义的select语句把数据实际检索出来
  • 对于填有数据的游标,根据需要取出各行
  • 在结束游标使用时,必须关闭游标

创建游标

CREATE PROCEDURE procedure_name
BEGINDECLARE vernier_name CURSORFORSELECT语句
END

打开和关闭游标

OPEN vernier_nameCLOSE vernier_name

在一个游标关闭后,如果没有重新打开,则不能使用他
但是,声明过的游标,关闭后不需要再次声明

隐含关闭,如果你不明确关闭游标,MySQL会在 END语句使,自动关闭游标

使用游标数据

当一个游标被打开后,可以使用FETCH来访问他的每一行
FETCH指定检索什么数据,检索出来的数据存储在什么地方,还可以向前移动游标中的内部行指针,使下一条FETCH语句检索下一行

DECLARE vernier_name CURSOR
FOR
SELECT语句OPEN vernier_nameDECLARE O INT
REPEATFETCH vernier_name INTO O
UNTIL condition END REPEATCLOSE vernier_name

DECLARE 语句的次序
局部变量 > 游标 > 句柄

触发器

为什么需要触发器
有时需要,某个表发生改动时,自动处理,这种情况下,就需要触发器

MySQL中可以触发触发器的语句
DELETE\INSERT\UPDATE

创建触发器

触发器需要在每个表中唯一命名,但不需要在每个数据库中唯一,即数据库中的两个表可具有相同名字的触发器

CREATE TRIGGER trigger_name AFTER/BEFORE operation ON table_name
FOR EACH ROW 

只有表才支持触发器,视图不支持
触发器按每个表每个事件每次定义,每个表每个事件每次只允许一个触发器
每个表最多支持6个触发器(3种操作 * ( before || after ) = 6
单一触发器不能与多个事件或多个表关联

删除触发器

触发器的类型

  • INSERT
    • INSERT触发器代码内,可以引用一个名为NEW的虚拟表,访问被插入的行,
    • before insert 触发器中, new的值也可以被更新,
    • 对于auto_increment列,newinsert执行前包含0,在INSERT执行后包含新的自动生成值
  • DELET
    • DELET触发器代码内,可以引用一个名为OLD的虚拟表,访问被删除的行
    • OLD中的值全部都是只读的,不能更新
  • UPDATE
    • UPDATE触发器代码中,可以引用OLD虚拟表访问UPDATE前的值,引用NEW虚拟表,访问新更新的值
    • BEFORE UPDATE触发器中,NEW中的值可能也被更新
    • OLD中的值全部都是只读的,不能更新

触发器的使用要点

  • 创建触发器可能需要特殊的安全访问权限
  • 应该用触发器来保重数据的一致性
  • 触发器的一种非常有意义的使用是创建审计和跟踪
  • 触发器中不能调用存储过程

管理事务处理

COMMIT&ROLLBACK

事务管理

并非所有的引擎都支持事务处理,MyISAM不支持事务处理,InnoDB支持事务处理

事务处理
用于维护数据库的完整性,保证成批的MySQL操作要么完全执行,要么完全不执行

事务:指一组SQL语句
回退:被撤销指定SQL语句的过程
提交:将未存储的SQL语句结果写入数据库
保留点:事务处理中设置的临时占位符,可以对他发布回退

控制事务处理

管理事务处理的关键在于,将SQL语句组分解为逻辑块,并明确规定数据和是应该回退,何时不应该回退

SELECT * FROM table_name;
START TRANSACTION;
DELETE FROM table_name;
SELECT * FROM table_name;
ROLLBACK;
SELECT * FROM order_name;

使用COMMIT

隐含提交:一般的MySQL语句都是直接针对数据库表执行和编写的,即提交操作是自动进行的
隐含事务关闭:当COOMITROLLBACK语句执行后,是误会自动关闭

使用保留点

为了支持回退部分事务处理,可以在事务处理块中的合适位置防止占位符,如果需要回退,可以回退到某个占位符

保留点越多越好:可以在MySQL代码中设置任意多的保留点,保留点越多,你就越能按自己的意愿灵活的进行回退

释放保留点:保留点在事务处理完成后自动释放,也可以使用RELEASE SAVEPOINT明确的释放保留点

更改默认的提交行为

SET autocommit=0;

autocommit标志决定是否自动提交更改,不管有没有COMMIT语句
autocommit针对每个连接,而不是服务器

http://www.yidumall.com/news/29155.html

相关文章:

  • 常州做网站信息百度输入法下载
  • 网站留言功能百度官网进入
  • 做网站 公司重庆网站制作公司
  • 建设网站征集图片的通知seo外链发布工具
  • 怎么样给一个网站做自然排名seo搜索引擎优化排名报价
  • 有没有专门做教育培训的网站东莞企业网站模板建站
  • 网站数据采集怎么做互联网营销师证书查询入口
  • 深圳软件公司招聘杭州seo公司服务
  • django做网站和js做网站寻找客户资源的网站
  • 可信赖的坪山网站建设免费行情软件网站下载
  • wordpress完成版seo技巧分享
  • 保定网站排名哪家公司好seo引擎优化方案
  • 成都网站推广排名网页制作软件推荐
  • 怎么做网站logo镇江网站seo
  • 手机网站微信咨询宁波seo排名方案优化公司
  • 学校网站建设注意什么网站权重排名
  • 怎么做盗文网站百度竞价排名
  • web网站开发 网页模板黑马培训
  • 厦门有做网站建设关键词生成器在线
  • 外国网站接单做翻译优化设计电子版
  • 福建省龙岩市新罗区疫情电脑优化是什么意思
  • 阿里云虚拟主机可以做两个网站seo关键词排名怎么优化
  • wordpress quizseo关键词排名网络公司
  • 天津做网站公司网络营销的特点有哪些?
  • 一些常用的网站怎么创建一个属于自己的网站
  • 伊利牛奶的网站建设策划书百度快照入口官网
  • 没网站怎么做cpa南京seo
  • 办公室装修设计网站40个免费网站推广平台
  • 潍坊可以做网站的公司海口百度seo公司
  • 手机创建网站免费怎么推广淘宝店铺