关键词不能为空

当前您在: 主页 > 英语 >

MySQL高级教程 笔记

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-01-29 09:53
tags:

-correspondence

2021年1月29日发(作者:修理厂)


MySQL-


高级



1



标题


1


.


........................... .................................................. ..................


错误!未定义书签。



1.1



标题


2 ........................ .................................................. ..................



误!未定义书签。



1.1.1



标题


3 ........................ .................................................. ...............



误!未定义书签。






泰牛程序员



PHP


学院
































































1


概述



M ySQL


中的


SQL


编程的话题


.


触发器


,


存储函数


,


存储过程



以上的是三个名词


,



SQL


编程中


,


地位是


:


程序的载体


,


程序的结果


.



编程所涉及的要素


:


变量


,


数据类型


,


流程控制


,


函数


,


运算符


,


表达式


.



2


/


40



泰牛程序员



PHP


学院
































































2


函数



2.1


内置函数



MySQL


自动提供的函数


!


例如


: database(), now(), md5()




2.2


自定义函数



存储函数



用户定义定义的


,


存储在

< p>
MySQL


中的函数


.




2.2.1



create function,


创建函数



适用语法

< br>:


来创建函数



3


/


40



泰牛程序员



PHP


学院


































































2.2.2



调用函数






2.2.3



drop function ,


删除函数



drop function [if exists] function-name;



4


/


40



泰牛程序员



PHP


学院


































































5


/


40



泰牛程序员



PHP


学院
































































3


变量



编 程要素



程序处理数据


.



数据在程序中的容器


,


就是变量


.



强类型




3.1


全局变量



函数外定义的变量




变量不需要声明


,


直接去设置即可


!



PS,


内置的变量


: set autocommit = off,


不以



@


开头




3.2


局部变量



函数内定义的变量



使用


declare


来声明


.


不需要使用


@,


表示是用户自定义变量


.


6


/


40



泰牛程序员



PHP


学院



































































强类型


,


定义的局部变量


,


必须定义为某种类型


,


类型的表述与字段的类型一致


!



3.3


重叠


(


嵌套


)


作用域




局部内


,


可访问到全局变量



PS:



JS


保持一致


1



7


/


40



泰牛程序员



PHP


学院
































































3.4


变量的赋值



3.4.1



set


变量



=






3.4.2



select into


变量



当需要为变量赋值的数据


,


来源于< /p>


SQL



select

< br>语句的查询结果时


,


可以使用


select into


完成变量的赋值


.



8


/


40



泰牛程序员



PHP


学院
































































一次性


,


赋值多个变量


:




函数内


,


也可以使用






9


/


40



泰牛程序员



PHP


学院
































































4


流程控制



编程要素



循环和分支




4.1


分支


- IF




测试




结果



10


/


40



泰牛程序员



PHP


学院

































































4.1.1



内置分支函数


: if()


不是分支


,


是典型的三元运算


,


的函数封装语法



MySQL


不支持三元运算符



? :.



4.2


分支


-CASE




11


/


40



泰牛程序员



PHP


学院

































































测试




结果






4.3


循环



while


条件满足


,


则循环继续



12


/


40



泰牛程序员



PHP


学院

































































其中标签


,


用于在循环终止时


,


一次性的终止多层循环


!


类似于


JS


的语法


.






例如


:



13


/


40



泰牛程序员



PHP


学院

































































4.4


循环



终止



终止当前循环


:(continue), iterate


终止全部


:(break), leave


终止


,


都需要配合循环语句的标签使用


!




ierate:



leave:



14


/


40



泰牛程序员



PHP


学院

































































如果需要终止多层


:


需要在后边跟随不同的标签即可







15


/


40



泰牛程序员



PHP


学院
































































5


过程



存 储过程



procedure


与函数类似


,


都是一段功能代码的集 合


,


称之为过程


.



与函数不一样的是


,


函数由于完成某个特定的操作点


,


例如


, md5(),


获取


md5

摘要信息


,


不是


用来实现某中也无路基操作


, < /p>


而是就是实现特定的操作


.


过程是


,


某个特定的业务逻辑


.



当我们需要使用


SQL


完成某件事时候


,


使用过程


,


而在过程的完成中


,


需要一些特殊的操作


,


就是函数


.



例如


:



需要插入


, 1000


条记录到某测试表中


,


此时就应该创建过程


.


而在插入的时候


,


需要随机的获取学生的姓名


,


就可以定义一个函数


,


完成获取随机的学生


姓名工作


.



映射到


PHP


程序


:



浏览器所请求的一个


URL,


对应的


PHP


代码


,


就是一段过程


.


(


例如


,


商品添加


,


用户注册


),


就是过程


.


而在完成这个过程中


,


需要将用户的 密码做


md5


处理


, md5


就是函数


.



因此


,


函数在意的是处理结果


,


函数具有返回值


.


而过程是一段执行


,


不具有返回值


.




语法



16


/


40



泰牛程序员



PHP


学院
































































5.1


创建过程


:create procedure



注意


:


没有返回值参数有输入方式之分


.



过程内的写法


,


与函数是一致的


.





5.2


调用过程


, call


过程


()


过程的调用不能出现在表达式中


,


需要使用独立的语法进行独立调用


.



//


表达式中



max(class_id) + 10;




需要用



call




17


/


40



泰牛程序员



PHP


学院
































































5.3


删除过程


, drop procedure




5.4


参数的输入类型


, in, out, inout


in, out, inout,


表示


,


过程的参数的数据的传递方向


.



in:


由外向内传递



out:


由内向外传递



inout:


双向传递


,


即可内向外


,


也可外向内





,



,


指的是


,


过程外和过程内


.




创建过程外的三个变量


:



18


/


40



泰牛程序员



PHP


学院
































































以三个变量作为实参


,


调用过程


:




在获取过程外三个变量的值


:




inout


双向传递


,


类似于



PHP


中的引用传递


!



由于过程没有返回值


,


需要在过程处理后


,


得到过程的处理结果数据


,


就因该


,


使用带


out


类型的参数


.



一个数据时被多个过程连续处理


,


典型的需要



inout


类型的参数


.



19


/


40



泰牛程序员



PHP


学院
































































6


练习



一 个纯粹的


MySQL


管理员需要完成某些操作

< br>,


需要使用过程


, MySQL


自带的编程方式


.



例如


,


需要创建大量的测试数据


,


可以过程完成


:


确定测试表的结构





确定需要插入的数据格式




要求


:



学号要从


1


开始递增

< br>.


班级


ID,



1-100


随机



姓名


,


随机得来



说明


:


任意





编程实现


:


20


/


40


-correspondence


-correspondence


-correspondence


-correspondence


-correspondence


-correspondence


-correspondence


-correspondence



本文更新与2021-01-29 09:53,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/584853.html

MySQL高级教程 笔记的相关文章