標籤:
1:插入資料
import MySQLdb# 建立串連的變數conn = MySQLdb.connect(host=‘127.0.0.1‘,user=‘root‘,passwd=‘123456‘,db=‘mysql‘)# 開啟串連通道cur = conn.cursor()# 執行execute語句,insert into一條資料reCount = cur.execute(‘insert into UserInfo(Name,Address) values(%s,%s)‘,(‘caoxiaojian‘,‘CN‘))# reCount = cur.execute(‘insert into UserInfo(Name,Address) values(%(id)s, %(name)s)‘,{‘id‘:12345,‘name‘:‘caoxiaojian‘})# 資料提交conn.commit()# 通道串連關閉cur.close()# 資料庫連接關閉conn.close()print reCount
一次插入多個資料
#!/usr/bin/env python# coding:utf-8import MySQLdbconn = MySQLdb.connect(host=‘127.0.0.1‘,user=‘root‘,passwd=‘123456‘,db=‘mydb‘)cur = conn.cursor()# 將資料放到一個列表中li =[ (‘ccc‘,‘cn‘), (‘ggg‘,‘cn‘),]# 使用executemany批量插入多個資料reCount = cur.executemany(‘insert into UserInfo(Name,Address) values(%s,%s)‘,li)conn.commit()cur.close()conn.close()print reCount
2:刪除資料
#!/usr/bin/env python# coding:utf-8import MySQLdb# 首先串連資料庫conn = MySQLdb.connect(host=‘127.0.0.1‘,user=‘root‘,passwd=‘123456‘,db=‘mydb‘)# 開啟串連通道cur = conn.cursor()# 使用execute來執行命令reCount = cur.execute(‘delete from UserInfo‘)# 提交並關閉conn.commit()cur.close()conn.close()print reCount
3:修改資料
#!/usr/bin/env python# coding:utf-8import MySQLdbconn = MySQLdb.connect(host=‘127.0.0.1‘,user=‘root‘,passwd=‘1234‘,db=‘mydb‘)cur = conn.cursor()reCount = cur.execute(‘update UserInfo set Name = %s‘,(‘alin‘,))conn.commit()cur.close()conn.close()print reCount
4:查詢資料
分為兩類:一種是fetchone/fetchmany(num)
執行個體
#!/usr/bin/env python# coding:utf-8import MySQLdbconn = MySQLdb.connect(host=‘127.0.0.1‘,user=‘root‘,passwd=‘1234‘,db=‘mydb‘)cur = conn.cursor()reCount = cur.execute(‘select * from UserInfo‘)# 使用fetchone一次只擷取一條資料,擷取後指標位置移動,到下一條資料的位置print cur.fetchone()print cur.fetchone()# 表示從指標當前位置鄉下擷取幾條print cur.fetmany(2)# scroll類似之前的seek,可以指定定位到某個位置# 位置的指定有兩種方式:相對位置和絕對位置# 沒有什麼卵用,還不如直接從資料庫中讀取。cur.scroll(-1,mode=‘relative‘)cur.scroll(0,mode=‘absolute‘)cur.close()conn.close()print reCount
fetchall的執行個體
#!/usr/bin/env python# coding:utf-8import MySQLdbconn = MySQLdb.connect(host=‘127.0.0.1‘,user=‘root‘,passwd=‘1234‘,db=‘mydb‘)# 使用下面的方式,可以將擷取到資料變成字典的格式,原本是個元組的形式cur = conn.cursor(cursorclass = MySQLdb.cursors.DictCursor)"""擷取的樣式[ {‘id‘:1,‘name‘:‘ccc‘}]"""cur = conn.cursor()"""擷取的樣式[ (1,ccc), (2,ggg)]"""reCount = cur.execute(‘select Name,Address from UserInfo‘)nRet = cur.fetchall()cur.close()conn.close()print reCountprint nRetfor i in nRet: print i[0],i[1]
Python MySQL API