程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Python >> Python Mysql操作.

Python Mysql操作.

編輯:Python
  1. 安裝MySQLdb.從網站下載Mysql for python 的package 注意有32位和64位之分. 2. 安裝完成之後從Python IDLE 導入MySQLdb   >>>import MySQLdb   3. 新建一個數據庫連接:     >>>conn =MySQLdb.connect(host = '127.0.0.1',user= 'root',passwd='123456',db='test',port=3306,charset='utf8')   >>>   注意:其中的hsot 參數的值也可寫為host = "localhost", passwd 切勿寫成了password, port 參數需要int類型,上面的3306不要加引號. charset要和數據庫的字符集相同.   4. 創建游標:     >>>cur = conn.cursor()   >>>   5. 執行插入單條數據命令   >>>cur.execute("insert into msg (title,name,content) values ('python','zz','test mysql insert')")    1L  #返回受影響的記錄條數.   >>>conn.commit()  #需要提交事務插入才會生效.   >>>   6. 利用參數插入多條數據命令   >>>sql = "insert into msg (title,name,content) values (%s,%s,%s)"  #定義一個sql語句   >>>cur.executemany(sql,[('title01','name01','content01'),('title02','name02','content02')])   2L   >>>conn.commit()   >>>   7. 利用 for 循環拼接sql命令插入多條數據.   >>>sql = "insert into msg (title,name,content) values"   >>>for i in range (100):     >>>  sql += "('id" + str(i) + "'," + "'name" + str(i) + "'," + "'content" + str(i) + "'),"   >>>sql = sql[:-1]  #利用切片將最後的"," 刪除.   >>>cur.execute(sql)   103L   >>>conn.commit()   >>> 8. 執行刪除命令   >>>cur.execute("delete from msg where title = 'title02' ")   1L   >>>conn.commit()   >>>   9. 執行更改命令   >>>cur.execute("update msg set title='changedTitle' where title='title01'")   1L   >>>conn.commit()   >>>   10. 執行查詢命令   >>>cur.execute("select * from msg")   3L #返回記錄條數   >>> python的查詢語句並不會返回數據庫中存取的實際值, 僅返回獲得的記錄條數, 那麼想要獲得數據庫中的值該怎麼做呢? 我們需要用到游標的fetch.   11. 利用fetchone()獲得一條記錄.該條記錄是當前游標所在行的下一行數據.   >>>cur.fetchone()   (1L, 'title01', 'name01', 'content01')   12. 利用fetchmany(size=num) 獲取多條記錄.   >>>cur.fetchmany(size=5)   ((2L, 'python', 'ChenYL', 'insert content'), (3L, 'py03', 'name03', 'content03'), (4L, 'py04', 'name04', 'content04'), (5L, 'id0', 'name0', 'content0'),   (7L, 'id2', 'name2', 'content2'))   >>> Note: 此處若查詢數據多於size參數則獲取和size參數相同的記錄條數, 若查詢數據記錄少於size參數的值,則只顯示查詢到的數據記錄條數.   13. 利用fetchall()獲取從游標位置下一行開始直到查詢記錄結束的全部記錄.   >>>cur.fetchall()   105L   >>> 14. 利用scroll()移動游標   >>>cur.scroll(1,mode="absolute")   >>> Note: 當mode為absolute時游標走到表中的第一個參數行(若第一個參數為1,則走到表中第一行),次數用fetchone()會取到第二行. 當mode為relative是,此時游標會往下走一行, 假如游標在第三行, scroll之後會走到第四行.   15. 數據庫使用完之後記得關閉游標. 關閉數據庫連接.   >>>cur.close()   >>>conn.close      注: 上述實例執行結果返回的記錄條數和結果與數據庫中記錄相關.    
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved