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

网站建设报告模板wordpress搭建淘宝客

网站建设报告模板,wordpress搭建淘宝客,抚宁区建设局网站,网站布局怎么做系列文章目录 1.MySQL编程基础 2.程序控制流语句 3.存储过程 4.游标 5.嵌入式SQL 文章目录 系列文章目录前言一、程序控制流语句:二、存储函数: 1.存储函数的特点:2.存储函数的定义:3.调用存储函数 三、存储过程:…

系列文章目录

1.MySQL编程基础

2.程序控制流语句

3.存储过程

4.游标

5.嵌入式SQL


文章目录

  • 系列文章目录
  • 前言
  • 一、程序控制流语句:
  • 二、存储函数:
    • 1.存储函数的特点:
    • 2.存储函数的定义:
    • 3.调用存储函数
  • 三、存储过程:
    • 1.存储过程的特点:
    • 2.存储过程的定义:
    • 3. 调用存储过程:
  • 四、两者区别:
  • 总结


前言

      前面我们简单学习了一些SQL的基本语句,增删改查等一些常用的知识,现在我们要稍微学习一点数据库编程的内容,在一些复杂的程序中我们就需要一些语句来增强这个程序的可读性和逻辑性,下面我们先讲讲存储函数和存储过程:


一、程序控制流语句:

    与所有的程序设计语言一样,MySQL提供了用于编写过程化代码的语法结构,可进行顺序,分支,循环,存储过程,存储函数,触发器等程序设计,编写结构化的模块代码,并放置到数据库服务器上。

   语句块,注释和重置命令结束标记:

        1.语句块:

 BEGIN···END用于定义SQL语句块,其语法格式如下:

       

BEGINSQL语句|SQL语句块
END

        说明:

   (1)BEGIN····END语句块包含了该程序块的所有处理操作,允许语句块嵌套。

   (2)在MySQL中单独使用BEGIN···END语句块没有任何意义,只有将其封装到存储过程,存储函数,触发器等存储程序内部才有意义。

       2.注释

     在源代码中加入注释便于用户对程序的更好理解,有两种声明注释的方式,即单行注释和多行注释。

   (1)单行注释:

使用##符号作为单行语句的注释符,写在需要注释的行或语句的后面。

   (2)多行注释:

使用/*和*/括起来可以连续书写多行注释语句。

       3.重置命令结束标记

 在MySQL中,服务器处理的语句式以分号为结束标记的。但在创建存储函数,存储过程时,在函数体或存储过程体中可以包含多个SQL语句,每个SQL语句都是以分号结尾,而服务器处理程序时遇到第一个分号则结束程序的执行,这时就需要使用DELIMITER语句将MySQL语句的结束标记修改为其他符号。

  语句格式:

 

DELIMITER 符号

 示例:

DELIMITER @@
SELECT *FROM emp@@DELIMITER ;
SELECT * FROM emp;

     恢复使用分号作为结束标记,执行“DELIMITER;”即可。

二、存储函数:

       用户在编写程序的过程中,不仅可以调用系统函数,也可以根据应用程序的需要创建存储函数。

       存储函数是类似于存储过程的一种程序单元,但它的返回值必须是一个单一的值,通常用于计算和返回某些值。存储函数可以用在 SQL 语句中,作为一个表达式。

存储函数的特点:
  • 必须返回一个值:存储函数必须有一个 RETURN 语句来返回一个值。
  • 可以作为表达式使用:存储函数可以嵌入到 SQL 语句中,例如在 SELECT 语句中作为计算的一部分。
  • 不能执行多个 SQL 语句:与存储过程不同,存储函数通常只能执行单一的操作,并返回一个结果,不能像存储过程一样返回多个结果集。

 

存储函数的定义:

创建存储函数使用 CREATE FUNCTION 语句,语法如下:

DELIMITER $$CREATE FUNCTION function_name (param1 datatype, param2 datatype)
RETURNS return_datatype
DETERMINISTIC
BEGIN-- 计算过程RETURN result;
END $$DELIMITER ;
  • return_datatype 是函数的返回类型。
  • DETERMINISTIC 表示该函数对于相同的输入参数返回相同的结果。如果函数结果依赖于外部因素(如随机数、时间等),则应使用 NOT DETERMINISTIC
  • RETURN result 用于返回结果。
调用存储函数:

存储函数的调用方式可以像普通的表达式一样使用,通常是查询中的一部分。例如:

SELECT function_name(param1_value, param2_value);

示例:

DELIMITER $$CREATE FUNCTION CalculateTax(price DECIMAL(10,2)) 
RETURNS DECIMAL(10,2)
DETERMINISTIC
BEGINDECLARE tax DECIMAL(10,2);SET tax = price * 0.1;RETURN tax;
END $$DELIMITER ;

删除存储函数:

DROP FUNCTION NAME_FN;

函数名后面不要加括号

三、存储过程:

  

存储过程是由一组 SQL 语句组成的预编译程序,可以根据需要在数据库中被多次执行。存储过程可以接受参数,也可以返回多个结果集。通常用于执行复杂的业务逻辑,封装一组 SQL 操作或事务。

存储过程的特点:
  • 没有返回值:存储过程不能返回值,但可以使用 OUT 参数来返回值。
  • 支持多个结果集:存储过程可以返回多个查询结果集,可以通过 SELECT 语句来返回数据。
  • 执行方式:存储过程在数据库中创建后,可以通过 CALL 语句执行。
  • 封装复杂逻辑:存储过程非常适合封装一些复杂的查询或事务操作。

    

存储过程的定义:

创建存储过程使用 CREATE PROCEDURE 语句,语法如下:

  

DELIMITER $$CREATE PROCEDURE procedure_name (param1 datatype, param2 datatype)
BEGIN-- SQL语句SELECT * FROM table_name;
END $$DELIMITER ;
  • DELIMITER $$ 是用来修改命令结束符的,通常 MySQL 的默认命令结束符是 ;,但是存储过程体内部也会使用 ; 来分隔 SQL 语句,因此需要使用 DELIMITER 来改变结束符。
  • procedure_name 是存储过程的名字。
  • param1param2 等是存储过程的输入参数,可以指定类型,如 INTVARCHAR 等。

     

调用存储过程:

创建好存储过程后,可以使用 CALL 来调用存储过程:

CALL procedure_name(param1_value, param2_value);

示例:

DELIMITER $$CREATE PROCEDURE GetEmployeeInfo(IN emp_id INT)
BEGINSELECT name, position FROM employees WHERE id = emp_id;
END $$DELIMITER ;

调用:

CALL GetEmployeeInfo(101);

四、两者区别:

存储过程与存储函数的主要区别

特性存储过程(Stored Procedure)存储函数(Stored Function)
返回值没有返回值,通常通过 OUT 参数返回结果。必须有返回值,使用 RETURN 语句返回一个值。
执行的操作可以执行 SELECTINSERTUPDATEDELETE 等操作。只能执行 SELECT 查询,不能修改数据。
调用方式使用 CALL 语句调用存储过程。直接在 SQL 语句中调用,如 SELECT function_name();
使用场景用于需要执行一系列操作的场景,例如批量插入、更新等。用于需要返回单个计算值的场景,例如计算某个值的统计信息。
是否可以嵌套使用可以调用存储过程、存储函数或其他 SQL 语句。可以在 SQL 查询中嵌套调用,但不能直接修改数据。

总结

以上就是我们今天要讲的内容,我简单讲了存储函数和存储过程以及他们的区别,下面我会持续更新数据库的内容的,希望大家多多关注。

http://www.dtcms.com/a/413091.html

相关文章:

  • 公司建立网站费用云南网站建设优化
  • wordpress ip镇江网站建设方式优化
  • 24小时网站建设阿里云网站建设部署与发布
  • 网站建设实训不足怎样建设一个韩国网站
  • 定制制作网站开发oa系统登录入口
  • 陇南地网站seo开网站做商城怎么样
  • 网站建设高端培训ppt设计大赛
  • 网站推广的方法及特点wordpress功能介绍
  • 考试报名费悦生活建设银行网站淘宝店铺怎么运营
  • 撰写网站规划书网站建站平台排行榜
  • daily notes[56]
  • 盐城做网站找哪家好建设好网站能赚到钱吗
  • 有哪些网站可以做青旅义工wordpress加目录
  • 企业网站模板演示德州手机网站建设报价
  • 鄱阳县精准扶贫旅游网站建设目的用ps个人网站怎么做
  • 做网站需要公司么业之峰家装公司地址
  • 快速收录网站微信开发者工具有什么作用
  • 查钓鱼网站seo优化排名百度教程
  • 虹口专业做网站网站建设预算描述
  • 模板网站的坏处铁岭做网站的公司
  • 水果电商网站开发方案做效果图的网站有哪些软件
  • 做游戏网站打鱼矿泉水瓶50种手工制作
  • 网站建设销售培训网站建设 超薄网络
  • 网站上怎么做动画广告视频玉环建设规划局网站
  • 校园二手市场网站建设最专业的房地产网站建设
  • 网站制作内联框unity 做网站
  • 建立网站顺序网站建设公司宣传语
  • 35互联网站建设甘肃省住房和城乡建设厅注册中心网站
  • 徐州哪家做网站好gif表情包制作网站
  • 标志空间网站做网站赚钱一般做什么