首页
学习
活动
专区
圈层
工具
发布

MySQL数据库高级篇之储存过程

何为储存过程? 存储过程是一组为了完成特定功能的 SQL 语句集合。...MySQL 5.0终于开始已经支持存储过程,它是数据库中最重要的功能, 目的:将常用或复杂的工作预先用 SQL 语句写好并用一个指定名称存储起来,这个过程经编译和优化后存储在数据库服务器中,因此称为存储过程...优势 封装性 存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的 SQL 语句,并且数据库专业人员可以随时对存储过程进行修改,而不会影响到调用它的应用程序源代码。...SELECT id,data INTO x,y FROM test.t1 LIMIT 1; 调用储存过程 CALL 储存过程名(带入的参数) 查看储存过程 -- 查看储存过程状态 SHOW PROCEDURE...储存过程名; 修改储存过程 ALTER PROCEDURE 储存过程名 [特性....]; -- 注意:只能修改属性,不能修改内容 删除存储过程 DROP PROCEDURE 储存过程名; -- 删除前建议用

2.3K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL-储存引擎

    MySQL体系结构 MySQL的系统体系结构一般来说分为一下几层: 连接层 服务层 引擎层 储存层 存储引擎简介 存储引擎是储存数据,建立索引,更新/查询数据的实现方式。...= 储存类型 [ 注释 ] ; 查看当前数据库支持的储存引擎: show engines; InnoDB 介绍 InnoDB是一种高可靠性和高性能性的储存引擎,自从MySQL 5.5之后,InnoDB...就是MySQL的默认储存引擎。...逻辑储存结构 MyISAM 介绍 是早期MySQL的默认储存引擎 特点 支持表锁,不支持行锁 访问速度更快 文件 xxx.sdi 储存表结构信息 xxx.MYD 储存数据 xxx.MYI 储存索引...选择 针对应用系统的选择合适的储存引擎,当然也可以根据实际系统的情况,自由的对储存引擎进行组合 InnoDB:是MySQL的默认储存引擎,支持事务,外键。

    40210

    如何用Mysql的储存过程,新增100W条数据

    什么是存储过程,如何创建一个存储过程 存储过程的英文是 Stored Procedure,它的思想很简单,就是 SQL 语句的封装; 一旦存储过程被创建出来,使用它就像使用函数一样简单; 我们直接通过调用存储过程名即可...CREATE PROCEDURE 存储过程名称 ([参数列表]) BEGIN 需要执行的语句 END ---使用储存过程 CALL 存储过程名称 ([参数列表]); SQL Copy...使用Mysql的储存过程,新增100W条数据 --创建表 CREATE TABLE `user`(`user_id` INT UNSIGNED AUTO_INCREMENT,`user_name` VARCHAR...注意: 如果你使用 Navicat 这个工具来管理 MySQL 执行存储过程,那么直接执行上面这段代码就可以了; 如果用的是 MySQL,你还需要用 DELIMITER 来临时定义新的结束符; 因为默认情况下...,因此我们就需要临时定义新的 DELIMITER,新的结束符可以用(//)或者($$); 如果你用的是 MySQL(指的客户端),那么上面这段代码,应该写成下面这样: --创建表 CREATE TABLE

    78030

    如何用Mysql的储存过程,新增100W条数据

    什么是存储过程,如何创建一个存储过程 存储过程的英文是 Stored Procedure,它的思想很简单,就是 SQL 语句的封装; 一旦存储过程被创建出来,使用它就像使用函数一样简单; 我们直接通过调用存储过程名即可...CREATE PROCEDURE 存储过程名称 ([参数列表]) BEGIN 需要执行的语句 END ---使用储存过程 CALL 存储过程名称 ([参数列表]); 使用Mysql的储存过程...注意: 如果你使用 Navicat 这个工具来管理 MySQL 执行存储过程,那么直接执行上面这段代码就可以了; 如果用的是 MySQL,你还需要用 DELIMITER 来临时定义新的结束符; 因为默认情况下...SQL 采用(;)作为结束符,这样当存储过程中的每一句 SQL 结束之后,采用(;)作为结束符,就相当于告诉 SQL 可以执行这一句了; 但是存储过程是一个整体,我们不希望 SQL 逐条执行,而是采用存储过程整段执行的方式...,因此我们就需要临时定义新的 DELIMITER,新的结束符可以用(//)或者($$); 如果你用的是 MySQL(指的客户端),那么上面这段代码,应该写成下面这样: --创建表 CREATE TABLE

    2K50

    织梦dede修改附件图片储存路径

    会发现织梦默认的图片上传路径有问题,织梦默认保存图片附件是按照日期来建目录,路径为uploads/allimg/171008/ ,网站每天都上传图片,时间长了uploads/allimg就有太多的目录了 修改后台...  我们可以修改附件保存的目录,按月分目录,织梦5.7版本设置很简单:织梦后台——系统——系统设置——系统基本参数——附件设置——附件保存形式(按data函数日期参数) ,把ymd改为ym (如果想以年划分目录...打开目录include/dedecollection.class.php $timedir = "c".MyDate("ymd",time()); 修改为: $timedir = "c".MyDate(...打开目录dede/inc/inc_archives_functios.php 查找 $imgUrl = $cfg\_uploaddir.’/’.MyDate(“ymd”,time()); 修改为 $imgUrl

    3.9K20

    Mysql 事件、密码修改及命令行下创建存储过程

    DROP PROCEDURE cleanProc ; 存储过程调用 call cleanProc() 命令行下创建存储过程 存储过程想修改一下,网上兜兜转转找起来修改没改太明白,如果仍有修改需要请自行百度...,我用了一种笨方法,就是先删除再增加,有图形管理客户端搞起来比较容易,但是如果通过mysql命令行进行进行修改,便遇到了一头雾水,因为存储过程里写了两条SQL,每条SQL后面都用;分隔了,估计是与mysql...后来百度了下,找到了修改的方法: 步骤:1先修改mysql语句执行的分隔符 2持行存储过程,具体来看下图吧: 修改mysql 语句持行分隔符: DELIMITER // 创建存储过程: CREATE...RECEIVE_TIME))>3; delete from T_RECV_LOG where (TO_DAYS(NOW()) - TO_DAYS(RECEIVE_TIME))>3; END 密码修改...输入mysql回车,如果成功,将出现MySQL提示符 >。 6. 连接权限数据库: use mysql; 。 6.

    21910

    设置MySQL储存文件大小的限制

    在servlet上传图片到MySQL数据库过程中,MySQL存储文件大小是有限制的,比如数据库只能存储1M文件的大小,上传的文件就不能超过这个限制,如果超过限制就会报以下的错误信息: 故障现象:数据存储文件的时候报...以上的问题就是上传文件的大小已经超过数据库限制的大小,导致数据库存储不了文件,所以这个时候我们需要重新设置数据库存储文件的大小: 从报错看是 mysql的 max_allowed_packet参数值设置太少了...,用show VARIABLES like ‘%max_allowed_packet%’;查看,显示的是1M(1024x1024),这当然就有问题了,超过1M就存不了 MySQL根据配置文件会限制server...有时候大的插入和更新会被max_allowed_packet 参数限制掉,导致失败,要重新设置参数可以在MySQL命令行中运行: set global max_allowed_packet = 2x1024x1024x10...然后关闭掉这此MySQL Server链接,再重新连接。

    5.6K70

    mysql uftb8mb4 储存 emoji 表情失败

    血淋淋的惨痛教训 众所周知 mysql 存 emoji 表情要用 utf8mb4 这个字符集 OK 没问题,设置 nick_name 为 utf8mb4 varchar(50) 测试的结果: ?     ...emoji 表情储存成功 没有问题  完全oj8k  发生产! 微信公众号做了推送,为了抗住流量,还准备了100台服务器。 晚上监控流量,服务器各项指标正常。...nick_name 存不进去,仔细调研发现是 部分emoji表情的用户 的 昵称储存失败。...总结: 1、我设置了utf8mb4 还是无法储存部分 moji 表情的原因是:新的moji 表情越来越多,mysql 版本却没有跟上,导致新的moji 表情存不进去。...我们还需要站到对立面多思考一个问题:Emoji表情存储至Mysql报错问题,于是你就能找到这篇:JAVA解决Emoji表情存储至Mysql报错问题 就不会踩坑了 这是我的一点踩坑经历,希望能给看到文章的你一点帮助

    3.2K30

    修改mysql密码

    win10安装配置修改mysql 8.0 1.安装包 镜像站下载 2.配置文件 在Windows系统中,配置文件默认是安装目录下的 my.ini 文件,部分配置需要在初始安装时配置,大部分也可以在安装完成后进行更改...5.修改密码 先使用刚获取的初始密码进行登录 mysql -uroot -p 输入如下命令进行修改密码 ALTER USER 'root'@'localhost' IDENTIFIED BY "123456..." 到这里mysql 8.0的初始密码就修改完成了!...ubuntu系统下mysql重置密码和修改密码操作 一、忘记密码后想重置密码 在介绍修改密码之前,先介绍一个文件/etc/mysql/debian.cnf.其主要内容如下图: 里面有一个debian-sys-maint...3.重启mysql sudo service mysql restart 4.在终端输入命令mysql,进入mysql 5.使用命令use mysql;切换到mysql数据库 6.修改root密码 UPDATE

    11.7K30

    Mysql执行过程

    Mysql 执行流程 大致流程描述: MySQL客户端通过协议将SQL语句发送给MySQL服务器。...自带的权限表中查询当前用户的权限 mysql中存在4个控制权限的表,分别为user表,db表,tables_priv表,columns_priv表, mysql权限表的验证过程为: User表: 存放用户账户信息以及全局级别...生成执行计划的过程会消耗较多的时间,特别是存在许多可选的执行计划时。...如果在一条SQL语句执行的过程中将该语句对应的最终执行计划进行缓存,当相似的语句再次被输入服务器时,就可以直接使用已缓存的执行计划,从而跳过SQL语句生成执行计划的整个过程,进而可以提高语句的执行速度。...执行的状态 可以通过命令:show full processlist,展示所有的处理进程,主要包含了以下的状态,表示服务器处理客户端的状态,状态包含了从客户端发起请求到后台服务器处理的过程,包括加锁的过程

    3.7K20

    MySQL 存储过程

    1.2、存储过程特点 用来完成较复杂业务 比较灵活,易修改,好编写,可编程性强 编写好的存储过程可重复使用 1.3、存储过程优缺点 优点 存储过程在创建的时候直接编译,sql语句每次使用都要编译,效率高...7.1、存储过程查看 格式: show procedure status [like '%字符串%']; 案例: mysql> show procedure status; mysql>show procedure...status like '%emp%'; 7.2、存储过程删除 格式: drop procedure 存储过程名; 案例: mysql> drop procedure emp_id; Query OK...return ename; end; 注意: 这是我们开启了bin-log, 我们就必须指定我们的函数指定一个参数deterministic 不确定的 no sql 没有SQL语句,当然也不会修改数据...reads sql data 只是读取数据,当然也不会修改数据 modifies sql data 要修改数据 contains sql 包含了SQL语句 create function getName

    41.5K20
    领券