拓展阅读
MySQL 00 View
MySQL 01 Ruler mysql 日常开发规范
MySQL 02 truncate table 与 delete 清空表的区别和坑
MySQL 03 Expression 1 of ORDER BY clause is not in SELECT list,references column
MySQL 04 EMOJI 表情与 UTF8MB4 的故事
MySQL 05 MySQL入门教程(MySQL tutorial book)
MySQL 06 mysql 如何实现类似 oracle 的 merge into
MySQL 07 timeout 超时异常
MySQL 08 datetime timestamp 以及如何自动更新,如何实现范围查询
MySQL 09 MySQL-09-SP mysql 存储过程
SP
常用的操作数据库语言SQL语句在执行的时候须要要先编译,然后执行。
存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。
(1) 存储过程增强了SQL语言的功能和灵活性。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。
(2) 存储过程答应标准组件是编程。存储过程被创建后,可以在步伐中被多次调用,而不必重新编写该存储过程的SQL语句。而且数据库专业职员可以随时对存储过程进行修改,对应用步伐源代码毫无影响。
(3) 存储过程能实现较快的执行速度。如果某一操作包含大量的 Transaction-SQL 代码或分别被多次执行,那么存储过程要比批处置惩罚的执行速度快很多。
因为存储过程是预编译的。在首次运行一个存储过程时查询,优化器对其进行分析优化,而且给出最终被存储在系统表中的执行筹划。而批处置惩罚的 Transaction-SQL 语句在每次运行时都要进行编译和优化,速度相对要慢一些。
(4) 存储过程能过减少网络流量。针对同一个数据库对象的操作(如查询、修改),如果这一操作所涉及的 Transaction-SQL 语句被组织程存储过程,那么当在客户计算机上调用该存储过程时,
网络中传送的只是该调用语句,从而大大增加了网络流量并降低了网络负载。
(5) 存储过程可被作为一种安全机制来充分利用。系统管理员通过执行某一存储过程的权限进行限制,可以或许实现对相应的数据的访问权限的限制,避免了非授权用户对数据的访问,保证了数据的安全。
Attention
MySQL 中对于存储过程的支持在 5.0+;
本文案例版本为 5.7;
Learn
对于 SP 的学习,可以直接在 Mysql 命令行客户端输入将会得到如下响应:- Many help items for your request exist.
- To make a more specific request, please type 'help <item>',
- where <item> is one of the following
- topics:
- ALTER PROCEDURE
- CREATE PROCEDURE
- DROP PROCEDURE
- PROCEDURE ANALYSE
- SELECT
- SHOW
- SHOW CREATE PROCEDURE
- SHOW PROCEDURE CODE
- SHOW PROCEDURE STATUS
复制代码 接下来的学习可以直接通过 ?+topic 的情势既可以获取对应的文档阐明及例子。
Hello Word
执行以下脚本。- CREATE DATABASE `test`;
- USE `test`;
- CREATE TABLE user(
- id BIGINT(20) PRIMARY KEY AUTO_INCREMENT COMMENT '自增长ID',
- name VARCHAR(10) NOT NULL COMMENT '用户名称',
- age int NOT NULL DEFAULT 0 COMMENT '年龄'
- ) COMMENT 'user table';
- INSERT INTO user (name, age)
- VALUES
- ('ryo', 12),
- ('jim', 14);
复制代码 执行后数据库数据应该是这样的- mysql> select * from user;
- +----+------+-----+
- | id | name | age |
- +----+------+-----+
- | 1 | ryo | 12 |
- | 2 | jim | 14 |
- +----+------+-----+
- 2 rows in set (0.00 sec)
复制代码 CREATE PROCEDURE
直接在命令行输入就可以获取对应的信息。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |