亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

Python數據庫編程

2019-11-06 08:08:23
字體:
來源:轉載
供稿:網友

轉自:http://lizhenliang.blog.51cto.com/7876557/1874283

Python的MySQL數據庫操作模塊叫MySQLdb,需要額外的安裝下。

通過pip工具安裝:pip install MySQLdb

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

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

參數

描述

host數據庫地址
user數據庫用戶名,
passwd數據庫密碼,默認為空
db數據庫庫名,沒有默認庫
port數據庫端口,默認3306
connect_timeout連接超時時間,秒為單位
use_unicode結果以unicode字符串返回
charset插入數據庫編碼

連接對象返回的connect()函數:

commit()提交事務。對支持事務的數據庫和表,如果提交修改操作,不適用這個方法,則不會寫到數據庫中
rollback()事務回滾。對支持事務的數據庫和表,如果執行此方法,則回滾當前事務。在沒有commit()前提下。
cursor([cursorclass])創建一個游標對象。所有的sql語句的執行都要在游標對象下進行。MySQL本身不支持游標,MySQLdb模塊對其游標進行了仿真。

游標對象也提供了幾種方法:

close()關閉游標
execute(sql)執行sql語句
excutemany(sql)執行多條sql語句
fetchone()從執行結果中取第一條記錄
fetchmany(n)從執行結果中取n條記錄
fetchall()從執行結果中取所有記錄
scroll(self, value, mode='relative')游標滾動

1 數據庫增刪改查

1.1 在test庫創建一張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)   # 返回的數字是影響的行數0L    >>> sql = "insert into user(id,name,password) values('1','xiaoming','123456')">>> cursor.execute(sql)1L>>> conn.commit()  # 提交事務,寫入到數據庫>>> cursor.execute('show tables')  # 查看創建的表1L>>> cursor.fetchall()  # 返回上一個游標執行的所有結果,默認是以元組形式返回((u'user',),)>>> cursor.execute('select * from user')           1L>>> cursor.fetchall()((1L, u'xiaoming', u'123456'),)1.2 插入多條數據

>>> 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變量是一個包含多元組的列表,每個元組對應著每條記錄。當查詢多條記錄時,使用此方法,可有效提高插入效率。

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'))

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'))

1.4 以字典形式返回結果

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

傳入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'})

2 遍歷查詢結果

#!/usr/bin/env python# -*- coding: utf-8 -*-import MySQLdbtry:    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 iexcept 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')


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧洲偷拍精品| 中文字幕在线视频日韩| 综合欧美国产视频二区| 亚洲精品国产电影| 欧洲美女免费图片一区| 日韩中文字幕网站| 欧美日韩黄色大片| 中文字幕亚洲激情| 亚洲午夜av久久乱码| 亚洲视频在线观看视频| 国产日韩在线亚洲字幕中文| 青青草原一区二区| 精品亚洲男同gayvideo网站| 欧美激情a在线| 亚洲一区中文字幕在线观看| 97国产一区二区精品久久呦| 久久久久久久影院| 国内精品400部情侣激情| 77777少妇光屁股久久一区| 亚洲精品免费av| 精品国产拍在线观看| 亚洲成人激情图| 亚洲夜晚福利在线观看| 97碰在线观看| 久久久精品视频在线观看| 亚洲福利影片在线| 欧美日韩一区二区免费视频| 91久久精品国产91久久| 亚洲综合最新在线| 亚洲欧美成人在线| 国产亚洲精品激情久久| 国产不卡av在线| 欧美激情欧美激情在线五月| 91高潮精品免费porn| 91精品国产99久久久久久| 欧美在线国产精品| 国产一区香蕉久久| 久久中文字幕视频| 日韩在线视频观看正片免费网站| 欧美大片第1页| 久久久久亚洲精品成人网小说| 羞羞色国产精品| 91sa在线看| 欧美专区在线观看| 国产精品久久久久久久久久ktv| 色偷偷噜噜噜亚洲男人| 欧美国产日韩一区二区在线观看| 懂色av中文一区二区三区天美| 国产成人午夜视频网址| 亚洲最新视频在线| 亚洲天堂开心观看| 欧美猛交ⅹxxx乱大交视频| 亚洲欧美日韩天堂一区二区| 欧美激情欧美狂野欧美精品| 日韩欧美第一页| 国产热re99久久6国产精品| 日韩av中文字幕在线播放| 国产成人精品av| 欧美疯狂xxxx大交乱88av| 亚洲国产精品成人一区二区| 精品国内产的精品视频在线观看| 91精品国产91久久久| 日韩综合视频在线观看| 亚洲女人被黑人巨大进入al| 日韩中文字幕在线视频| 日韩av影视综合网| 国产欧美日韩高清| 久久精品中文字幕一区| 在线免费观看羞羞视频一区二区| 日韩美女主播视频| 国产精品成人av性教育| 亚洲男女自偷自拍图片另类| 2021久久精品国产99国产精品| 国产精品91视频| 欧美精品久久久久久久久| 国产美女久久精品香蕉69| 久久久久久18| 尤物tv国产一区| 97视频国产在线| 91国产精品91| 欧美性videos高清精品| 欧美日韩亚洲激情| 日韩av中文字幕在线播放| 亚洲一区二区三区sesese| 亚洲免费视频在线观看| 亚洲精品免费网站| 欧美xxxx18性欧美| 国产精品电影久久久久电影网| 国产亚洲美女久久| 日韩欧美高清视频| 精品色蜜蜜精品视频在线观看| 精品国产区一区二区三区在线观看| 亚洲性线免费观看视频成熟| 亚洲黄页视频免费观看| 精品国产乱码久久久久酒店| 国产精品夜色7777狼人| 日韩一区二区福利| 国产中文字幕91| 久久视频中文字幕| 91国产一区在线| 78m国产成人精品视频| 欧美精品久久久久久久免费观看| 久久777国产线看观看精品| 韩国三级日本三级少妇99| 欧美高清videos高潮hd| 尤物yw午夜国产精品视频| 91麻豆国产语对白在线观看| 久精品免费视频| 精品少妇一区二区30p| 日本精品视频在线| 亚洲成人激情在线观看| 色悠悠国产精品| 在线观看亚洲区| 欧美在线视频观看| 精品夜色国产国偷在线| 亚洲成人免费网站| 高清欧美性猛交xxxx| 欧美精品在线视频观看| 精品国偷自产在线视频99| 日韩中文字幕国产| 国产精品18久久久久久麻辣| 这里只有视频精品| 福利视频一区二区| 国产精品久久999| 在线亚洲国产精品网| 奇米四色中文综合久久| 尤物精品国产第一福利三区| 欧美性xxxxx极品娇小| 精品视频偷偷看在线观看| 成人国产精品一区二区| 亚洲第一精品夜夜躁人人爽| 欧美一级片一区| 亚洲无限av看| 亚洲第一视频在线观看| 精品国产一区二区三区久久狼黑人| 国产网站欧美日韩免费精品在线观看| 亚洲福利视频二区| 成人97在线观看视频| 成人福利网站在线观看11| 亚洲男人天堂手机在线| 久久精品国产一区| 亚洲精品综合精品自拍| 国产免费一区二区三区在线能观看| 亚洲国产精品免费| 92裸体在线视频网站| 精品小视频在线| 欧洲精品毛片网站| 精品国产一区二区在线| 蜜臀久久99精品久久久久久宅男| 国产成人精品久久| 亚洲综合视频1区| 国产中文欧美精品| 不卡在线观看电视剧完整版| 45www国产精品网站| 欧美精品激情视频| 亚洲美女又黄又爽在线观看| 午夜剧场成人观在线视频免费观看| 91久久精品久久国产性色也91| 欧美激情精品久久久久久| 国产精品爽黄69| 一本一本久久a久久精品牛牛影视| 中文字幕日本精品| 色偷偷偷综合中文字幕;dd| 亚洲美女av网站|