欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

第十三章Python數(shù)據(jù)庫(kù)編程-創(chuàng)新互聯(lián)

本章節(jié)講解Python操作數(shù)據(jù)庫(kù),完成簡(jiǎn)單的增刪改查工作,以MySQL數(shù)據(jù)庫(kù)為例。

成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)與策劃設(shè)計(jì),北川羌族網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:北川羌族等地區(qū)。北川羌族做網(wǎng)站價(jià)格咨詢:18982081108

Python的MySQL數(shù)據(jù)庫(kù)操作模塊叫MySQLdb,需要額外的安裝下。

通過(guò)pip工具安裝:pip install MySQLdb

MySQLdb模塊,我們主要就用到連接數(shù)據(jù)庫(kù)的方法MySQLdb.Connect(),連接上數(shù)據(jù)庫(kù)后,再使用一些方法做相應(yīng)的操作。

MySQLdb.Connect(parameters...)方法提供了以下一些常用的參數(shù):

參數(shù)

描述

host數(shù)據(jù)庫(kù)地址
user數(shù)據(jù)庫(kù)用戶名,
passwd數(shù)據(jù)庫(kù)密碼,默認(rèn)為空
db數(shù)據(jù)庫(kù)庫(kù)名,沒(méi)有默認(rèn)庫(kù)
port數(shù)據(jù)庫(kù)端口,默認(rèn)3306
connect_timeout連接超時(shí)時(shí)間,秒為單位
use_unicode結(jié)果以u(píng)nicode字符串返回
charset插入數(shù)據(jù)庫(kù)編碼

連接對(duì)象返回的connect()函數(shù):

commit()提交事務(wù)。對(duì)支持事務(wù)的數(shù)據(jù)庫(kù)和表,如果提交修改操作,不適用這個(gè)方法,則不會(huì)寫到數(shù)據(jù)庫(kù)中
rollback()事務(wù)回滾。對(duì)支持事務(wù)的數(shù)據(jù)庫(kù)和表,如果執(zhí)行此方法,則回滾當(dāng)前事務(wù)。在沒(méi)有commit()前提下。
cursor([cursorclass])創(chuàng)建一個(gè)游標(biāo)對(duì)象。所有的sql語(yǔ)句的執(zhí)行都要在游標(biāo)對(duì)象下進(jìn)行。MySQL本身不支持游標(biāo),MySQLdb模塊對(duì)其游標(biāo)進(jìn)行了仿真。

游標(biāo)對(duì)象也提供了幾種方法:

close()關(guān)閉游標(biāo)
execute(sql)執(zhí)行sql語(yǔ)句
excutemany(sql)執(zhí)行多條sql語(yǔ)句
fetchone()從執(zhí)行結(jié)果中取第一條記錄
fetchmany(n)從執(zhí)行結(jié)果中取n條記錄
fetchall()從執(zhí)行結(jié)果中取所有記錄
scroll(self, value, mode='relative')游標(biāo)滾動(dòng)

博客地址:http://lizhenliang.blog.51cto.com

QQ群:323779636(Shell/Python運(yùn)維開發(fā)群)

13.1 數(shù)據(jù)庫(kù)增刪改查

13.1.1 在test庫(kù)創(chuàng)建一張user表,并添加一條記錄

>>> conn = MySQLdb.Connect(host='192.168.1.244',user='root',passwd='QHyCTajI',db='test',charset='utf8') >>> cursor = conn.cursor() >>> sql = "create table user(id int,name varchar(30),password varchar(30))" >>> cursor.execute(sql)   # 返回的數(shù)字是影響的行數(shù) 0L     >>> sql = "insert into user(id,name,password) values('1','xiaoming','123456')" >>> cursor.execute(sql) 1L >>> conn.commit()  # 提交事務(wù),寫入到數(shù)據(jù)庫(kù) >>> cursor.execute('show tables')  # 查看創(chuàng)建的表 1L >>> cursor.fetchall()  # 返回上一個(gè)游標(biāo)執(zhí)行的所有結(jié)果,默認(rèn)是以元組形式返回 ((u'user',),) >>> cursor.execute('select * from user')            1L >>> cursor.fetchall() ((1L, u'xiaoming', u'123456'),)

13.1.2 插入多條數(shù)據(jù)

>>> sql = 'insert into user(id,name,password) values(%s,%s,%s)' >>> args = [('2','zhangsan','123456'), ('3','lisi','123456'),('4','wangwu','123456')]  >>> cursor.executemany(sql, args) 3L >>> conn.commit() >>> sql = 'select * from user' >>> cursor.execute(sql) 4L >>> cursor.fetchall() ((1L, u'xiaoming', u'123456'), (2L, u'zhangsan', u'123456'), (3L, u'lisi', u'123456'), (4L, u'wangwu', u'123456'))

args變量是一個(gè)包含多元組的列表,每個(gè)元組對(duì)應(yīng)著每條記錄。當(dāng)查詢多條記錄時(shí),使用此方法,可有效提高插入效率。

13.1.3 刪除用戶名xiaoming的記錄

>>> sql = 'delete from user where name="xiaoming"' >>> cursor.execute(sql)                            1L >>> conn.commit() >>> sql = 'select * from user'                    >>> cursor.execute(sql)        3L >>> cursor.fetchall()          ((2L, u'zhangsan', u'123456'), (3L, u'lisi', u'123456'), (4L, u'wangwu', u'123456'))

13.1.4 查詢記錄

>>> sql = 'select * from user'  >>> cursor.execute(sql)          3L >>> cursor.fetchone()   # 獲取第一條記錄 (2L, u'zhangsan', u'123456') >>> sql = 'select * from user'  >>> cursor.execute(sql)          3L >>> cursor.fetchmany(2) # 獲取兩條記錄 ((2L, u'zhangsan', u'123456'), (3L, u'lisi', u'123456'))

13.1.4 以字典形式返回結(jié)果

默認(rèn)顯示是元組形式,要想返回字典形式,使得更易處理,就用到cursor([cursorclass])中的cusorclass參數(shù)。

傳入MySQLdb.cursors.DictCursor類:

>>> cursor = conn.cursor(MySQLdb.cursors.DictCursor) >>> sql = 'select * from user' >>> cursor.execute(sql) 3L >>> cursor.fetchall() ({'password': u'123456', 'id': 2L, 'name': u'zhangsan'}, {'password': u'123456', 'id': 3L, 'name': u'lisi'}, {'password': u'123456', 'id': 4L, 'name': u'wangwu'})

13.2 遍歷查詢結(jié)果

#!/usr/bin/env python # -*- coding: utf-8 -*- import MySQLdb try:     conn = MySQLdb.Connect(host='127.0.0.1', port=3306, user='root', passwd='123456', connect_timeout=3, charset='utf8')     cursor = conn.cursor()     sql = "select * from user"     cursor.execute(sql)     for i in cursor.fetchall():         print i except Exception, e:     print ("Connection Error: " + str(e)) finally:     conn.close()      # python test.py (2L, u'zhangsan', u'123456') (3L, u'lisi', u'123456') (4L, u'wangwu', u'123456')

使用for循環(huán)遍歷查詢結(jié)果,并增加了異常處理。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)頁(yè)題目:第十三章Python數(shù)據(jù)庫(kù)編程-創(chuàng)新互聯(lián)
URL標(biāo)題:http://chinadenli.net/article22/jgjjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)標(biāo)簽優(yōu)化、面包屑導(dǎo)航App開發(fā)、響應(yīng)式網(wǎng)站網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)
国产又色又爽又黄又大| 日韩精品一区二区三区四区| 欧美精品日韩精品一区| 国产中文字幕久久黄色片| 国产精品国三级国产专不卡| 国产亚洲精品岁国产微拍精品| av国产熟妇露脸在线观看| 欧美日韩国产成人高潮| 99精品国产一区二区青青| 欧美一区二区三区99| 精品少妇人妻av一区二区蜜桃| 欧美熟妇喷浆一区二区| 小黄片大全欧美一区二区| 色综合伊人天天综合网中文| 中文字幕禁断介一区二区| 国产一级内射麻豆91| 在线免费国产一区二区三区| 国产伦精品一区二区三区精品视频| 国产亚洲精品俞拍视频福利区| 久久热这里只有精品视频| 欧美中文日韩一区久久| 两性色午夜天堂免费视频| 深夜少妇一区二区三区| 欧美日韩一区二区三区色拉拉| 国内精品偷拍视频久久| 亚洲欧洲精品一区二区三区| 国产又大又硬又粗又黄| 日韩精品亚洲精品国产精品| 欧美日本精品视频在线观看| 久久国产精品热爱视频| 午夜视频成人在线观看| 黄色污污在线免费观看| 亚洲中文字幕一区三区| 中文字幕日韩无套内射| 少妇人妻精品一区二区三区| 亚洲乱妇熟女爽的高潮片| 国产精品推荐在线一区| 久久国产精品亚州精品毛片| 五月激情综合在线视频| 亚洲品质一区二区三区| 天海翼精品久久中文字幕|