java | 您所在的位置:网站首页 › sql高级语法 › java |
存储过程和函数的概念 存储过程和函数是事先经过编译并存储在数据库中的一段SQL 语句的集合。 存储过程和函数的好处1.存储过程和函数可以重复使用,减轻开发人员的工作量。类似于java 中方法可以多次调用 2.减少网络流量,存储过程和函数位于服务器上,调用的时候只需要传递名称和参数即可 3.减少数据在数据库和应用服务器之间的传输,可以提高数据处理的效率 4.将一些业务逻辑在数据库层面来实现,可以减少代码层面的业务处理 存储过程和函数的区别1.函数必须有返回值 2.存储过程没有返回值 创建存储过程-- 标准语法 DELIMITER 分隔符 数据准备 -- 创建数据库 CREATE DATABASE db18; -- 使用数据库 USE db18; -- 创建学生表 CREATE TABLE Student( id INT PRIMARY KEY AUTO_INCREMENT, -- 学生id NAME VARCHAR(20),-- 学生姓名 age INT,-- 学生年龄 gender VARCHAR(5), -- 学生性别 score INT -- 学生成绩 ); -- 添加数据 INSERT INTO Student VALUES (NULL,'学生甲',18,'男',100), (NULL,'学生乙',18,'女',99), (NULL,'学生丙',18,'女',110), (NULL,'学生丁',18,'男',111); -- 按照性别进行分组,查询每组学生的总成绩,按照总成绩的升序排序 SELECT gender,SUM(score) getSum FROM Student GROUP BY gender ORDER BY getSum ASC;1、修改分隔符 -- 修改分隔符为$ DELIMITER $ -- 将分号 ' ; ' 改成 ' $ ' 将 以 $ 为结尾 2、创建标准语法 -- 标准语法 CREATE PROCEDURE 存储过程名称(参数...) BEGIN sql 语句; END$ 3、修改为 分隔符结尾 -- 修改分隔符为分号 DELIMITER ; 代码示例调用存储过程语法 -- 标准语法 CALL 存储过程名称(实际参数); 结果与 SQL 语句查询一致 查看存储过程查看存储过程语法 -- 查询数据库中所有的存储过程标准语法 SELECT * FROM mysql.proc WHERE db='数据库名称'; -- 标准语法 DROP PROCEDURE [IF EXISTS] 存储过程名称; |
CopyRight 2018-2019 实验室设备网 版权所有 |