为了账号安全,请及时绑定邮箱和手机立即绑定

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
学习人数
综合评分9.67
950人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
查自己子类的个数,也可以通过这个sql语句实现:
mysql> select p.type_id,p.type_name,(select count(*) from tdb_goods_types as s
-> where s.parent_id = p.type_id) as '子类' from tdb_goods_types as p;
感觉存储过程和自定义函数一样,感觉存储过程是不是属于特殊的自定义函数
就喜欢你这种淡定自若的出错
老师讲得很好很细致啊。这样有利于打好基础,喜欢这个老师的课

最赞回答 / 东易龙
打个分号,回车一下。然后运行正确的命令就可以了。

最赞回答 / qq_酸李子我的最爱_0
在开始菜单下,找到windows,然后找到命令提示符,右击命令提示符,选择更多,再选择以管理员身份运行即可。
1024S是不是有点多
开始看的时候觉得不错,看了两两遍后,发现错误还是有几个地方,口误等,还有一些地方确实没解释清除
5.7版本不是这个样子的!感觉大不同

最赞回答 / GCYangXiXi
错误一:刚开始创建的函数体内,你将test表写成了user表,而user表内有password这个字段,不能为空且没有默认值,所以你在调用函数的时候,会报错,说你password字段没有赋值;错误二:删除原有函数,创建新的函数时,没有修改定界符,所以在你写到INSERT test(username) VALUES(username);这一句时,以分号结尾,mysql会以为你的命令已经写完,就开始编译,而这样的语句是错误的,所以会报你syntax的错误
很详细...

已采纳回答 / lijikai1937
<...图片...>图5-1数据准备
三、减少了网络流量

如果我们通过客户端每个单独发送sql语句让服务器来执行,那么通过http协议所提交的数据量相对而言比较大。假设我们准备删除user表中id为3的记录 delete from user where id=3;这句话的字符量大约超过了30个字符,如果我们把他存储成存储过程的话,假设有一个存储过程叫delete user,我们只需要调用delete user吧id传过去就可以完成了删除,所以我们会发现,我们只需要来传递存储过程的名字以及要删除的那个id的号码就可以了。所以他提交给服务器的数量就会少很多。减少了网络流量
存储过程的优点,

一、增加sql语句的功能和灵活性
因为在存储过程内可以写控制语句,name就有很强的灵活性,可以完成复杂的判断以及较复杂的运算


二、实现较快的执行速度。

如果执行某一个复杂的操作,包含大量的sql语句,那么这些语句都将被mysql的引擎执行语法分析、编译、以及执行的过程,所以执行效率相对较低。而存储过程是预编译的,当客户端第一次调用这个存储过程的时候,mysql的引擎将对它进行语法分析、编译等操作,然后把这个编译的结果存储到内存当中,所以,第一次的的执行效率适合以前一样。但是以后客户端再次调用这个存储过程的时候便直接从内存当中来执行,所以说效率比较高,速度比较快。
存储过程

存储过程存储在数据库内,可以有应用程序调用执行,而且允许用户声明变量以及进行流程控制,存储过程可以接受参数,可以介绍输入类型的参数,也可以接受输出类型的参数,并且可以存在多个返回值。所以存储过程的效率要比我们单一的sql语句执行的效率要高,比如:

假设我们写了两条sql的语句,mysql会对这两天语句逐一的进行分析、逐一的进行编译,在进行逐一的执行,而我们采用的存储过程以后,只有在第一次才进行语法分析和编译,以后我们客户端再去调用,会直接来调用执行的结果,其中就省略了再次的语法分析和编译过程。
课程须知
要想学习本课程,你只需要知道数据库是个什么东东就足够了,是不是很easy?!
老师告诉你能学到什么?
1、MySQL安装与配置 2、数据类型 3、流程控制与运算符 4、DDL、DCL、DQL、DML 5、常用函数 6、表类型(存储引擎) 7、图形化工具

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消