很多人接触数据库,从数据库表中查记录最早应该是利用SQL语句字符串,这也是我们开始操作数据库表使用的SQL语言,那时也看过存储过程,只是不理解存储过程什么意思,现在也只是简单应用,了解一点点而已。
形象一些,存储过程就是完成一个特定功能的东西,和函数差不多,是一段程序代码的集合。
下面是通过在一个系统中的具体应用来帮助学习、掌握、理解存储过程。同时学习也是一步一步逐渐深入的学习,从了解、认识、理解、应用的一个过程,学习的知识在于应用,也只有会灵活应用了,才是自己的。
存储过程概念:
1 例如:建立一个存储过程,从“新闻类表”category、“新闻表”news中查询最新的新闻若干条新闻(上一篇博客中已有这两个表的描述)
上面代码是通过外键关联从category 、news两个表中查询最新的新闻,n 、c 分别为表起的别名(alias)。
红色框表示内连接,此外还有交叉联接、外联接(左向外联接,右向外联接,完整外联接)等类型,常用的是内连接,
内联接的格式为:
数据表1 inner join 数据表2 on 联接表达式
指定返回两个表中所有匹配的行。
2 建立一个根据评论数,查询热点新闻的存储过程。
想要应用存储过程本质上还是要熟练运用SQL查询语句,语法如下:
方框中的是不经常用但很重要的查询关键字,其含义如下:
group_by_expression:指明分组条件group_by_expression通常是一个列名,但不能是列的别名。
ORDERBY子句指定查询结果的排序方式。
在大点的数据库系统中,存储过程具有很重要的作用。就本质而言它是SQL语句和流程控制语句的集合。存储过程在运算时生成执行方式,所以以后对其再运行时其执行速度很快。
我们可以多多运用,尤其是在Web-Server之间执行时,速度会快一些。