python操作mysql数据库 内存占用100_python操作MySQL数据库
python標準數據庫接口為Python DB-API,為開發人員提供了數據庫應用編程接口
DB-API是一個規范,定義了一系列必須的對象和數據庫存取方式,
便于各種各樣的底層數據庫系統和多種多樣的數據庫接口程序提供一致的訪問接口
MySQLdb用于python連接Mysql數據庫的接口,
實現了python數據庫API規范v2.0,基于mysql c API上建立
使用前需要安裝該模塊
簡單實例:
importMySQLdb#打開數據庫連接
db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset="utf8")#使用cursor()方法獲取操作游標
cursor =db.cursor()#使用execute方法執行SQL語句
cursor.execute("SELECT VERSION()")
使用fetchone()方法獲取一條數據
data=cursor.fetchone()print "Database version: %s" %data#關閉數據庫
db.close()
創建數據庫表:
可以使用execute()方法來為數據庫創建表
數據庫插入/更新/刪除操作,事務的方式執行
try:
cursor.execute(sql)
db.commit()exceptException,e:
db.rollback()
數據庫查詢操作:
fetchone():該方法獲取下一個查詢結果集,結果集是一個對象
fetchall():接受全部的返回結果行
rowcount:這是一個只讀屬性,并返回執行execute()方法后影響的行數
錯誤處理:
#!/usr/bin/env python#coding:utf-8
importMySQLdb
conn=MySQLdb.connect(host='127.0.0.1',user='root',passwd='123')
conn.select_db('08day5')#選擇數據庫
cur=conn.cursor()#以元組的形式展示#cur=conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)#以字典的形式展示
cur.execute('DROP TABLE IF EXISTS admin')#如果數據表已經存在,則使用execute()方法刪除#創建數據表
sql='''CREATE TABLE admin(
id INT PRIMARY KEY AUTO_INCREMENT,
user VARCHAR(20) NOT NULL,
passwd VARCHAR(20) NOT NULL
)'''cur.execute(sql)#插入單條記錄
sql='insert into admin(user,passwd) values(%s,%s)'#使用sql語句,無論我們要插入的數據是什么類型,占位符都可以用%s
params=('alex','usa')
cur.execute(sql,params)
conn.commit()#請注意:用commit()提交事務之后,才能真正的插入數據。#插入多條記錄(批量插入)
sql='insert into admin(user,passwd) values(%s,%s)'l=[('song','222aaa'),('shi','333bbb'),('yuan','444ccc'),('xing','abcddd'),('cheng','kkjjhh')]
cur.executemany(sql,l)#使用executemany()實現批量插入!
conn.commit()#刪除記錄
sql='delete from admin where id=%s'params=(3,)
cur.execute(sql,params)
conn.commit()#查詢記錄
reCount=cur.execute('select * from admin')#返回本次操作影響的記錄數
printreCount
data=cur.fetchall()#獲得 'select * from admin'語句 返回的結果集
printdata
cur.scroll(0,mode='absolute')#光標回到初始位置0處(絕對定位)
print cur.fetchone()#此時,光標位置為0;返回位置為0的記錄
print cur.fetchone()#返回位置為1的記錄
cur.scroll(1,mode='absolute')#光標回到1處(絕對定位)
print cur.fetchone()#返回位置為1的記錄
cur.scroll(-2,mode='relative')#光標回退2步(相對定位)
print cur.fetchmany(3)#從光標所在的位置(此時,光標位于0處),連續讀取3條記錄
cur.scroll(1,mode='relative')#光標前進1步(相對定位)
print cur.fetchone()#返回光標(位于4處)指向的那一條記錄
print cur.lastrowid #獲取插入數據的當自增ID#修改
sql='update admin set passwd=%s where user=%s'params=('123123','song')
cur.execute(sql,params)
conn.commit()
cur.close()
conn.close()
總結
以上是生活随笔為你收集整理的python操作mysql数据库 内存占用100_python操作MySQL数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 插值法补齐缺失数据_关于数据清洗的常见方
- 下一篇: redis watch使用场景_[Red