日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Python調(diào)用MySql存儲(chǔ)過程基本應(yīng)用方式解讀

Python編程語(yǔ)言的出現(xiàn),為開發(fā)人員帶來了非常大的好處。對(duì)于初學(xué)者來說,掌握這一語(yǔ)言的應(yīng)用其實(shí)是比較簡(jiǎn)單的。我們?cè)谶@里先為大家介紹一種比較常用的應(yīng)用技巧,Python調(diào)用MySql存儲(chǔ)過程的實(shí)現(xiàn)方法。#t#

創(chuàng)新互聯(lián)建站從2013年成立,先為璧山等服務(wù)建站,璧山等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為璧山企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

Python調(diào)用MySql存儲(chǔ)過程配置環(huán)境:

1.mysql5.0 或者以上支持存儲(chǔ)過程的版本

2.安裝MySQL-python,目前支持到2.x

Python調(diào)用MySql存儲(chǔ)過程步驟一.數(shù)據(jù)庫(kù)準(zhǔn)備

1.建立表

 
 
 
  1. view sourceprint?1 CREATE TABLE `Account` ( 
  2. `id` BIGINT(20) NOT NULL AUTO_INCREMENT, 
  3. `sm_accountName` VARCHAR(100) COLLATE gbk_chinese_ci NOT NULL DEFAULT '', 
  4. `sm_password` TEXT COLLATE gbk_chinese_ci NOT NULL, 
  5. `sm_onlineTime` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0', 
  6. PRIMARY KEY (`id`), 
  7. UNIQUE KEY `accountNameIndex` (`sm_accountName`) 
  8. )ENGINE=InnoDB 

2.建立存儲(chǔ)過程

 
 
 
  1. view sourceprint?01 CREATE PROCEDURE `proctest`
    (IN i_id BIGINT, IN i_onlinetime BIGINT, OUT o_accname 
    VARCHAR(30), OUT o_accpwd VARCHAR(50)) 
  2. NOT DETERMINISTIC 
  3. CONTAINS SQL 
  4. SQL SECURITY DEFINER 
  5. COMMENT '' 
  6. BEGIN 
  7. select sm_accountName,sm_password 
  8. into o_accname,o_accpwd 
  9. from `tbl_Account` where id=i_id and sm_onlineTime=
    i_onlinetime limit 1; 
  10. END; 

3.插入部分?jǐn)?shù)據(jù)

 
 
 
  1. view sourceprint?1 INSERT INTO `Account` (`id`, 
    `sm_accountName`, `sm_password`, `sm_onlineTime`) VALUES 
  2. (1, 'luoshulin', 'asdfsdf', 0), 
  3. (2, 'test', '1', 0), 
  4. (3, 'adsfasd', 'asdf', 1); 

到這里數(shù)據(jù)庫(kù)相關(guān)內(nèi)容就準(zhǔn)備好了接下去開始寫python腳本

Python調(diào)用MySql存儲(chǔ)過程步驟二.python腳本

 
 
 
  1. view sourceprint?01 #!/usr/bin/env python 
  2. # -*- coding: utf8 -*- 
  3. import MySQLdb 
  4. import time 
  5. import os, sys, string 
  6. def CallProc(id,onlinetime): 
  7. '''調(diào)用存儲(chǔ)過程, 
  8. 輸入?yún)?shù):編號(hào),在線時(shí)間,輸出:帳號(hào),密碼; 
  9. 使用輸出參數(shù)方式''' 
  10. accname='' 
  11. accpwd='' 
  12. conn = MySQLdb.connect(host='localhost',user='root',
    passwd='111111',db='ceshi')
  13. cur =conn.cursor() 
  14. cur.callproc('proctest',(id,onlinetime,accname,accpwd)) 
  15. cur.execute('select @_proctest_2,@_proctest_3') 
  16. data=cur.fetchall() 
  17. if data: 
  18. for rec in data: 
  19. accname=rec[0] 
  20. accpwd=rec[1] 
  21. cur.close() 
  22. conn.close(); 
  23. return accname,accpwd 
  24. def CallProct(id,onlinetime): 
  25. '''調(diào)用存儲(chǔ)過程, 
  26. 輸入?yún)?shù):編號(hào),在線時(shí)間,輸出:帳號(hào),密碼; 
  27. 使用select返回記錄方式''' 
  28. accname='' 
  29. accpwd='' 
  30. conn = MySQLdb.connect(host='localhost',user='root',
    passwd='111111',db='ceshi')cur =conn.cursor() 
  31. cur.nextset() 
  32. cur.execute('call ptest(%s,%s)',(id,onlinetime)) 
  33. data=cur.fetchall() 
  34. if data: 
  35. for rec in data: 
  36. accname=rec[0] 
  37. accpwd=rec[1] 
  38. cur.close() 
  39. conn.close(); 
  40. return accname,accpwd 
  41. name,pwd=CallProct(1,0) 
  42. print name,pwd 

Python調(diào)用MySql存儲(chǔ)過程步驟三.測(cè)試

將python腳本保存為 并執(zhí)行可以看到結(jié)果

 
 
 
  1. view sourceprint?1 [root@redhat-dev python]# python pycallproc.py 
  2. luoshulin asdfsdf 

測(cè)試使用的是select返回記錄的方式,對(duì)于使用輸出參數(shù)返回結(jié)果情況也是一樣的。


當(dāng)前標(biāo)題:Python調(diào)用MySql存儲(chǔ)過程基本應(yīng)用方式解讀
標(biāo)題路徑:http://m.5511xx.com/article/copcgsg.html