首页 > 数据库技术 > 详细

mysql 内置功能 存储过程 创建无参存储过程

时间:2019-03-14 20:33:20      阅读:158      评论:0      收藏:0      [点我收藏+]

 

 

 

 

操作哪个数据库,就把存储过程建到那个数据库

例如 现在use db2;

应该把存储过程 建立到db2数据库里

 

创建无参存储过程

 

delimiter // # 设置mysql结束符合为//
create procedure p1() # 创建程序固定procedure 和p1是存储过程名字
BEGIN
    select * from db2.teacher;  # sql语句
end //
delimiter ;

 

 

查看创建的存储过程

mysql> show create procedure p1\G;
*************************** 1. row ***************************
           Procedure: p1
            sql_mode: STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
    Create Procedure: CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
BEGIN
    select * from db2.teacher;  
end
character_set_client: utf8
collation_connection: utf8_general_ci
  Database Collation: utf8_general_ci
1 row in set (0.00 sec)

ERROR: 
No query specified

 

调用存储过程

#在mysql中调用
call 存储过程名字;

mysql> call p1();
+-----+-----------------+
| tid | tname           |
+-----+-----------------+
|   1 | 张磊老师        |
|   2 | 李平老师        |
|   3 | 刘海燕老师      |
|   4 | 朱云海老师      |
+-----+-----------------+
5 rows in set (0.18 sec)

Query OK, 0 rows affected (0.18 sec)

 

#在python中基于pymysql调用

调用存储过程 callproc(‘‘) 里面是存储过程名字

cursor.callproc(p1) 
print(cursor.fetchall())

 

 

import pymysql



mysql_host = 192.168.0.108
port = 3306
mysql_user = root
mysql_pwd = 123
encoding = utf8

# 建立 连接mysql服务端

conn = pymysql.connect(
    host=mysql_host,  # mysql服务端ip
    port=port,  # mysql端口
    user=mysql_user,  # mysql 账号
    password=mysql_pwd,  # mysql服务端密码
    db=db2,  # 操作的库
    charset=encoding  # 读取字符串编码

)

# 拿到游标对象
cur = conn.cursor(pymysql.cursors.DictCursor)

‘‘‘
游标是给mysql提交命令的接口
mysql> 
把sql语句传递到这里
‘‘‘


# 执行sql语句
cur.callproc(p1)
# 打印查询结果
print(cur.fetchall())



# 执行完sql语句要关闭游标和mysql连接
cur.close()
conn.close()

‘‘‘
[{‘tid‘: 1, ‘tname‘: ‘张磊老师‘}, 
{‘tid‘: 2, ‘tname‘: ‘李平老师‘}, 
{‘tid‘: 3, ‘tname‘: ‘刘海燕老师‘}, 
{‘tid‘: 4, ‘tname‘: ‘朱云海老师‘}]
‘‘‘

 

mysql 内置功能 存储过程 创建无参存储过程

原文:https://www.cnblogs.com/mingerlcm/p/9946373.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!