加入收藏 | 设为首页 | 会员中心 | 我要投稿 武汉站长网 (https://www.027zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL命令,一篇文章替你全部搞定

发布时间:2019-03-02 18:23:46 所属栏目:MySql教程 来源:Java高级技术
导读:副标题#e# MySQL的基本操作可以包括两个方面:MySQL常用语句如高频率使用的增删改查(CRUD)语句和MySQL高级功能,如存储过程,触发器,事务处理等。而这两个方面又可以细分如下: MySQL常用语句 表(或者数据库)的CRUD 表数据的CRUD,其中表数据查询使用

存储过程的缺点?(1)存储过程编写比基本的SQL语句更加复杂,需要更高的技能;(2)可能没有创建存储过程的权限,数据库管理员可能会限制创建存储过程的权限,允许用户使用存储过程,而不允许用户自由创建存储过程;

创建存储过程

创建存储过程。如需要统计用户订单总金额,如果该用户需要交税的话,订单总金额则需要再加上税费

有这样一些细节: 1. 使用CREATE PROCEDURE语句进行创建,()圆括号中为存储过程的参数,其中参数类型有:1.IN类型,表示传递给存储过程;2.OUT类型,表示存储过程返回的结果,在调用存储过程时需要传入@开始的变量;3.INOUT类型,表示在存储过程中可以传入和传出; 2.DECLARE用来声明一个变量,如这里的total,taxrate。注意MySQL中定义变量时都是变量名在前,数据类型在后。 3. 存储过程具体逻辑写在BEGIN END之间; 4. 将值赋给变量使用INTO关键字; 5. 由于存储过程中每个SQL语句中用;作为分隔符,会和单个SQL造成冲突,因此可使用DELIMITER重新定义分类符,如该例子中定义//为分隔符,自然存储过程结尾就用END //结尾,而不再是END。同时,分隔符//成对出现后,恢复到默认的";"作为分隔符;

执行存储过程

使用CALL子句执行存储过程,CALL子句接受存储过程的名称以及需要传递的参数。

如果存储过程中定义了OUT类型的输入参数,那么在执行存储过程时需要传入变量,如这里@total,并且变量都是用@开始的。如果存储过程中没有参数的话,就用空圆括号表示即可,CALL ordertotal();

删除存储过程

删除存储过程,可以使用DROP PROCEDURE子句。如DROP PROCEDURE ordertotal;

查询存储过程

显示创建一个存储过程的语句,可以使用SHOW CREATE PROCEDURE。如SHOW CREATE PROCEDURE ordertotal;

查询所有存储过程的状态,如果在定义存储过程中使用COMMENT添加注释,可以查看。同时可以LIKE进行过滤结果。如SHOW PROCEDURE STATUS LIKE '%order%';

6. 事务处理

什么是事务?

事务处理是用来维护数据库的完整性,它保证成批的MySQL操作要么完全执行,要么完全不执行。事务处理是一种机制,用来管理必须成批执行的MySQL操作,它们要么时作为整体执行或者完全不执行。

关键概念:

事务:是指一组SQL语句;

回退:是指撤销指定的SQL语句的过程;

提交:指将未存储的SQL语句的结果写入数据库表中;

保留点:指事务处理中设置的临时占位符,可以对它发布回退;

(编辑:武汉站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读