Mysql存储过程 之 “Hello,World”

前天到亚信联创面试,应聘他们互联网产品部的java开发实习生,我有一段时间没关系数据库方面的知识了,而面试时这方面的问题又非常多,面试过程可想而知的悲催了,哎,不提了 ,好好学习才是正事。

回来之后就把数据库的知识恶补一通,一般的sql语句基本上搞定了,那就再摸索点高深的东东。这就遇到了存储过程。之前学习存储过程仅限于理论,现在通过万能的搜索引擎,找到了一些资料,便照着做一下吧。自己机器上安装的是MySql5.5,MySql自5.0就开始支持存储过程了,幸甚!!

刚看了开头就发现单纯的MySql还不能够实践存储过程,导入一个叫"mysql_fix_privilege_tables"的东西,官方介绍这个叫做‘Upgrade MySql system table’,好像是调整MySql版本的东西,不管他,自己下载了导入就好。

开始建立练习用的数据库和表:

mysql> CREATE DATABASE db5; 
Query OK, 1 row affected (0.01 sec) 
 
mysql> USE db5; 
Database changed
 
mysql> CREATE TABLE t (s1 INT); 
Query OK, 0 rows affected (0.01 sec) 
 
mysql> INSERT INTO t VALUES (5); 
Query OK, 1 row affected (0.00 sec)

这个尽量简单,好把注意力放在存储过程上,开始存储过程之前还有一个工作要做,就是修改MySql的结束符,系统默认的是‘;’不过要建立存储过程,再用这个默认的分号就不方便了,把结束符改为‘//’,操作起来很简单,命令:DELIMITER // ,搞定;

好了,建立第一个存储过程:

CREATE PROCEDURE p1 () SELECT * FROM t; //

SQL语句存储过程的第一部分是 “CREATE PROCEDURE”:第二部分是过程名,上面新存储过程的名字是p1。这个很容易理解,就是一个简单的select语句;

mysql> CALL p1() // 
+------+ 
| s1   | 
+------+ 
|    5 | 
+------+ 
1 row in set (0.03 sec) 
Query OK, 0 rows affected (0.03 sec)

当调用这个存储过程的时候,会得到这个结果。

再练习一个打印‘Hello,Worle!’的存储过程:


CREATE PROCEDURE HelloWorld()

select 'Hello,World!' //

调用:

mysql> CALL HelloWorld()//
+-------------+
| Hello,World |
+-------------+
| Hello,World |
+-------------+
1 row in set (0.00 sec)

好了,先写到这个,继续学习

转载于:https://my.oschina.net/zyzzy/blog/52098

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值