十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
假设A表有3个字段,ID, DATA1,DATA2
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站设计制作、做网站、贞丰网络推广、小程序制作、贞丰网络营销、贞丰企业策划、贞丰品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供贞丰建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
简单的话可以不使用存储过程,比如:
select * form A where ID in (select ID from A where DATA1 between 0 and 100)
如果你的应用比较复杂,在嵌套中还有复杂的运算,存储过程可以如下例子:
CREATE PROCEDURE test(in_start int,in_end int)
BEGIN
DECLARE ids TEXT;
select GROUP_CONCAT(ID) into ids from A where DATA1 between in_start and in_end;
select * from A where FIND_IN_SET(ID,ids) 0;
END
注: in_start, in_end是DATA1的筛选范围。 后面一个select直接返回一个表
直接用SQL和使用存储过程各有利弊,存储过程在你使用大量查询及SQL运算的时候效率很高,而且存储过程一旦写入数据库会被自动编译运行速度比较快,而SQL是每次执行都需要被编译一次的。但是存储过程的调试比较麻烦,不像你使用编程语言和SQL的时候可以单步调试。而且如果没有熟练掌握存储过程的效率优化情况下,使用存储过程可能比使用SQL更慢。
1、首先先创建一个存储过程,代码如图,存储过程主要的功能是为表JingYan插入新的数据。
2、执行这几行代码,看到执行成功,数据库里现在已经有存储过程sp_JY。
3、先看下JingYan表里目前的数组,如图,只有三行数据。
4、在mysql里,调用存储过程,只需要用call关键字,带上存储过程的名称就行了,当然有参数时,需要带个参数。
5、执行了这个存储过程的调用之后,再看下JingYan表里的数据,可以看到现在的数据已经是四条了,说明调用存储过程成功插入了一条新的数据。
6、再添加一个存储过程,该存储过程用select语句,返回表数据。
7、调用查询新的存储过程,可以看到结果里也是返回表数据。
1、MySQL如果使用MyISAM存储引擎,数据库文件类型就包括.frm、.MYD、.MYI,默认存放位置是C:\DocumentsandSettings\AllUsers\ApplicationData\MySQL\MySQLServer5.1\data2、MySQL如果使用InnoDB存储引擎,MySQL数据库文件类型就包括.frm、ibdata1、.ibd,存放位置有两个,.frm文件默认存放位置是C:\DocumentsandSettings\AllUsers\ApplicationData\MySQL\MySQLServer5.1\data,ibdata1、.ibd文件默认存放位置是MySQL安装目录下的data文件夹