如何在MySQL中使用存储结构
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,这期内容当中小编将会给大家带来有关如何在MySQL中使用存储结构,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.新建两张数据表:student1, student
千家信息网最后更新 2025年11月11日如何在MySQL中使用存储结构
这期内容当中小编将会给大家带来有关如何在MySQL中使用存储结构,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
1.新建两张数据表:student1, student2
新建student1
DROP TABLE IF EXISTS student1;CREATE TABLE student1 (id INT NOT NULL auto_increment,name TEXT,age INT,PRIMARY KEY(id));
新建student2
DROP TABLE IF EXISTS student2;CREATE TABLE student2 (id INT NOT NULL auto_increment,name TEXT,age INT,PRIMARY KEY(id));
2.向student1中新增数据
INSERT INTO student1 (name, age) VALUES ('xiaoming', 18);INSERT INTO student1 (name, age) VALUES ('xiaohong', 17);INSERT INTO student1 (name, age) VALUES ('xiaogang', 19);INSERT INTO student1 (name, age) VALUES ('xiaoyu', 18);INSERT INTO student1 (name, age) VALUES ('xiaohua', 20);实现功能说明
1.打印student1中的部分信息
2.把student1中的部分数据复制到student2中
3.传入参数作为限制条件,把student1中的部分数据复制到student2中
注意事项
在编写存储结构的时候,我们不能以分号(;)结束。因为我们的SQL语句就是以分号(;)结尾的。这里我们要修改一下存储结构的结束符号(&&)。
这里我们使用MySQL中的DELIMITER进行修改,并在存储结构创建完毕时,再改为分号(;)结束即可。
关于这一点在后面的例子中有所体现。在编写MySQL的触发器中,也会用到类似的情况。
使用方式
1.打印student1中的部分信息
---------------------------------------------------------------DROP PROCEDURE IF EXISTS test_pro1;---------------------------------------------------------------DELIMITER &&CREATE PROCEDURE test_pro1()BEGIN set @sentence = 'select * from student1 where age<19;'; prepare stmt from @sentence; execute stmt; deallocate prepare stmt;END &&DELIMITER ;
2.复制表存储过程的编写(不带参数)
---------------------------------------------------------------DROP PROCEDURE IF EXISTS test_pro2;---------------------------------------------------------------DELIMITER &&create procedure test_pro2()begin DECLARE stop_flag INT DEFAULT 0; DECLARE s_name TEXT default ''; DECLARE s_age INT default 0; DECLARE cur1 CURSOR FOR (select name, age from student1 where age<19); DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET stop_flag=1; open cur1; fetch cur1 into s_name, s_age; while stop_flag<>1 DO insert into student2(name, age) values(s_name, s_age); fetch cur1 into s_name, s_age; end while; close cur1;end &&DELIMITER ;
3.复制表存储过程的编写(带参数)
---------------------------------------------------------------DROP PROCEDURE IF EXISTS test_pro3;---------------------------------------------------------------DELIMITER &&create procedure test_pro3(IN p_age INT)begin DECLARE stop_flag INT DEFAULT 0; DECLARE s_name TEXT default ''; DECLARE s_age INT default 0; DECLARE cur1 CURSOR FOR (select name, age from student1 where age1 DO insert into student2(name, age) values(s_name, s_age); fetch cur1 into s_name, s_age; end while; close cur1;end &&DELIMITER ;
这里的SQLSTATE '02000'和NOT FOUND系统返回值是一样的。
4.使用方式
call test_pro1();
or
call test_pro1(123);
上述就是小编为大家分享的如何在MySQL中使用存储结构了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
存储
结构
数据
部分
分号
参数
信息
内容
方式
过程
分析
专业
中小
事项
例子
内容丰富
功能
就是
情况
数据表
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
联想服务器黄色状态灯亮起
网络安全等级保护认证费用
网络安全 学
sql里把数据库文在哪里
创建空调修理数据库
查询数据库类型的语句怎么写
apex打到一半连接服务器超时
互联网科技的概念股
针对服务器安全的技巧
湖南分众互联网科技
清妃服务器
主从数据库设置
基于网络安全
nodejs 服务器治理
中科大信息网络安全艾明瑞
数据库R分解
网络安全周30题
服务器的渠道经理发展前景
ps连接mc自定义服务器
中学网络安全小结
牡丹江应用类软件开发定制
购买软件开发服务计入在建工程
数据库进入安全模式
开封网络安全工程师招聘
太原市丹阳科技大厦的互联网公司
删除服务器数据怎么恢复
网络安全厂家学历要求
服务器增强的安全配置已启用
具有国际影响力的科研数据库
网络安全程序员跳槽出来去哪里