久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Python 數(shù)據(jù)庫(kù)開(kāi)發(fā) - 天生我材必有用,千金散盡還復(fù)來(lái) - JavaEye技術(shù)網(wǎng)站

 qin5 2010-12-04
二,、MySQLdb的使用,。

引入我們需要的包
import MySQLdb

1.和數(shù)據(jù)庫(kù)建立連接
conn=MySQLdb.connect(host="localhost",user="root",passwd="sa",db="mytable")
提供的connect方法用來(lái)和數(shù)據(jù)庫(kù)建立連接,接收數(shù)個(gè)參數(shù),返回連接對(duì)象.

比較常用的參數(shù)包括
host:數(shù)據(jù)庫(kù)主機(jī)名.默認(rèn)是用本地主機(jī).
user:數(shù)據(jù)庫(kù)登陸名.默認(rèn)是當(dāng)前用戶.
passwd:數(shù)據(jù)庫(kù)登陸的秘密.默認(rèn)為空.
db:要使用的數(shù)據(jù)庫(kù)名.沒(méi)有默認(rèn)值.
port:MySQL服務(wù)使用的TCP端口.默認(rèn)是3306.
conn連接有兩個(gè)重要的方法commit【提交新增和修改】,rollback【撤銷(xiāo)新增或修改】

2.執(zhí)行SQL語(yǔ)句獲取返回值
//獲取連接的游標(biāo)
cursor=conn.cursor()
//查詢
sql = "select * from 【table】"
//新增
sql = "insert into 【table】(字段,字段) values(值,值)"
//修改
sql = "update 【table】 set 字段 =‘值’where 條件 "
//刪除
sql = "delete from 【table】 where 條件"
cursor.execute(sql)

返回值
cur.execute('select * from tables')
其返回值為SQL語(yǔ)句得到的行數(shù),,如:2L,,表示2行。
然后,,可以從該對(duì)象的fetchone或fetchall方法得到行信息,。

獲取行信息
指針對(duì)象的fetchone()方法,是每次得到一行的tuple返回值:
引用
>>> row=cur.fetchone()
>>> print row
('user1', '52c69e3a57331081823331c4e69d3f2e', 1000L, 1000L, '/home/FTP/user1', '')

指針對(duì)象的fetchall()方法,,是得到一組tuple,,其內(nèi)容為由行信息組成的tuple值:
引用
>>> cur.scroll(0,'absolute')
>>> row=cur.fetchall()
>>> print row
(('user1', '52c69e3a57331081823331c4e69d3f2e', 1000L, 1000L, '/home/FTP/user1', ''), ('user2', '7e58d63b60197ceb55a1c487989a3720', 1000L, 1000L, '/home/FTP/user2', None))

移動(dòng)指針
當(dāng)使用fetchone()方法是,,指針是會(huì)發(fā)生移動(dòng)的。所以,,若不重置指針,,那么使用fetchall的信息將只會(huì)包含指針后面的行內(nèi)容。
手動(dòng)移動(dòng)指針使用:
cur.scroll(int,parm)

含義為:
引用
int:移動(dòng)的行數(shù),,整數(shù),;在相對(duì)模式下,正數(shù)向下移動(dòng),,負(fù)值表示向上移動(dòng),。
parm:移動(dòng)的模式,默認(rèn)是relative,,相對(duì)模式,;可接受absoulte,絕對(duì)模式,。

修改數(shù)據(jù)
修改數(shù)據(jù),,包括插入、更新,、刪除,。它們都是使用指針對(duì)象的execute()方法執(zhí)行:
cur.execute("insert  into table (row1, row2) values ('111', '222')")
cur.execute("update  table set   row1 = 'test'  where  row2 = 'row2' ")
cur.execute("delete from  table  where row1 = 'row1' ")

因單引號(hào)“'”用于SQL語(yǔ)句中的標(biāo)識(shí),所以,,python中的字符串需使用雙引號(hào)括住,。
此外,也可以使用python的“格式化字符串”寫(xiě)法,,簡(jiǎn)化命令,,例如:
cur.execute("update  table set   row1 = '%s'  where  row2 = '%s' " %('value1','value2'))

※請(qǐng)注意,'%s'的單引號(hào)是SQL語(yǔ)句的間隔符,,'value1'的單引號(hào)是python的字符串間隔符,,其含義是不同的。是否需要間隔符,,以及使用雙引號(hào)還是單引號(hào)作為間隔,,需根據(jù)其含義決定。例如,,還有:
cur.execute("update FTPUSERS set passwd=%s where userid='%s' " %("md5('123')",'user2'))

這里,,paswd=%s是因SQL的md5()函數(shù)是不需要單引號(hào)間隔的;"md5('123')"是python的字符串中含有單引號(hào),,所以用雙引號(hào)括住,。

提交修改
一般情況下,MySQLdb模塊會(huì)自動(dòng)提交修改,。但我們?cè)诟聰?shù)據(jù)后,,手動(dòng)運(yùn)行一次:
conn.commit()

關(guān)閉數(shù)據(jù)庫(kù)連接
需要分別的關(guān)閉指針對(duì)象和連接對(duì)象.他們有名字相同的方法
cursor.close()
conn.close()


參考鏈接:
http://www.cnblogs.com/sislcb/archive/2008/11/24/1339913.html
http://www./post/180/
http://www./4/viewspace-16757.html

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多