免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Python操作mysql數(shù)據(jù)庫:MySQLdb模塊

 Python中的mysql操作可以使用MySQLdb模塊來完成。它符合Python社區(qū)設(shè)計的Python Database API SpecificationV2.0標(biāo)準(zhǔn),所以與其他的數(shù)據(jù)庫操作的API,如SQLite等基本類似。


1.連接的建立與釋放
建立連接時可用connect函數(shù),它返回一個Connection類型對象

conn = MySQLdb.connect('localhost', 'root', '123456', 'test')

connect方法常用的參數(shù)有

host:數(shù)據(jù)庫主機名.默認是用本地主機. 
user:數(shù)據(jù)庫登陸名.默認是當(dāng)前用戶. 
passwd:數(shù)據(jù)庫登陸的秘密.默認為空. 
db:要使用的數(shù)據(jù)庫名.沒有默認值. 
port:MySQL服務(wù)使用的TCP端口.默認是3306.
charset:數(shù)據(jù)庫編碼。

如果在數(shù)據(jù)編碼設(shè)置正確時,向數(shù)據(jù)庫插入數(shù)據(jù)出現(xiàn)亂碼時,可以設(shè)置連接的字符集參數(shù)charset

釋放連接時可以應(yīng)用Connection類型對象的close方法。
conn.close()

2.Cursor對象
執(zhí)行SQL語句前要獲得一個指定連接的Cursor對象,由Cursor對象執(zhí)行SQL查詢并獲取結(jié)果。

獲得Cursor對象的方法
cur = conn.cursor()

在默認情況下cursor方法返回的是BaseCursor類型對象,BaseCursor類型對象在執(zhí)行查詢后每條記錄的結(jié)果以列表(list)表示。如果要返回字典(dict)表示的記錄,就要設(shè)置cursorclass參數(shù)為MySQLdb.cursors.DictCursor類。
cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
這個參數(shù)也可在調(diào)用connect方法建立連接時設(shè)置
conn = MySQLdb.connect(host = 'localhost', user = 'root', passwd = '123456', db = 'test' cursorclass = MySQLdb.cursors.DictCursor)

執(zhí)行結(jié)束后可以關(guān)閉cursor對象
cur.close()

3.查詢,插入,更新、刪除操作。

Cursor類型提供了execute方法用于執(zhí)行SQL操作
execute(query [,parameters])
query是一個SQL字符串,parameters是一個序列或映射,返回值是所影響的記錄數(shù)

查詢
cur.execute("select * from t1 where name = %s and age = %s", ('June', 27))
cur.execute("select * from t1 where name = %(name)s and age = %(age)s", {'name':'June', 'age':27})
這里和字符串的格式化操作類似,但不管參數(shù)是什么類型,都要用'%s'

獲取結(jié)果
獲取結(jié)果集有三種方法,fetchone、fetchall和fetchmany,返回結(jié)果是一個tuple對象,tuple中的每一個元素對應(yīng)查詢結(jié)果中的一條記錄。
fetchone()返回結(jié)果集中的下一條記錄
fetchall()返回結(jié)果集中的剩余記錄
fetchmany([size])返回結(jié)果集中size條記錄

插入、更新、刪除
cur.execute("insert t1(name, age) values(%s, %s)", ('Jack', 32))
更新和刪除的操作與更新、刪除類似

除了execute,Cursor類還提供了executemany()方法
executemany(query [, parametersequence])
querey是一個查詢字符串,parametersequence是一個參數(shù)序列。這一序列的每一項都是一個序列或映射對象。但executemany只適合插入、更新或刪除操作,而不適用于查詢操作。

cur.execute("insert t1(name, age) values(%s, %s)", (('Jack', 32), ('Junior', 24)))

mysql現(xiàn)在一般會默認InnoDB作為默認引擎,InnoDB引擎執(zhí)行插入、更新、刪除操作后要進行提交,才會更新數(shù)據(jù)庫。
cur.commit()

4.其他操作
Connection類:
rollback() 回滾

Cursor類:
callproc(procname, args):用來執(zhí)行存儲過程,接收的參數(shù)為存儲過程名和參數(shù)列表,返回值為受影響的行數(shù)。
nextset():移動到下一個結(jié)果集
執(zhí)行查詢操作或存儲過程時可能返回多個結(jié)果集,例如:
cur.execute('select * from t1; select * from t2')
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Python數(shù)據(jù)庫訪問 | 賴明星
python操作MySQL數(shù)據(jù)庫
Python使用MySQL數(shù)據(jù)庫的方法以及一個實例
MYSQL Python 入門教程
python3使用PyMysql連接mysql數(shù)據(jù)庫實例
[Python]MySQLdb for Python使用指南/Python的數(shù)據(jù)庫操作
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服