摘要:還有一點,有的教程說應該設置來關閉自動提交事務,這應該也就是我不要的原因了吧。這種更改數據庫的方式都要進行,但是這類查詢操作就沒有必要了,因為不會更改到數據庫。
準備工作
首先要新建一個數據庫python和一張數據表user
$ mysql -u root -p > create database python; > use database python; > create table user( username varchar(32), password varchar(32) );連接到數據庫
In [1]: import MySQLdb # 獲取connection In [2]: conn = MySQLdb.connect( host = "127.0.0.1", port = 3306, user = "root", passwd ="root", db = "python", charset = "utf8" ) # 獲取到cusor,所有的操作都要通過cursor進行 In [3]: cursor = conn.cursor()插入操作
In [4]: sql = "insert into user (username, password) values(%s, %s)" # 這里我們將要插入的數據存入一個tuple當中 In [5]: cursor.execute(sql, ("zxy", "123") Out[5]: 1L
因為這里是要插入數據,所以要commit,但是我不進行commit好像也沒有問題。我查閱到的資料的解釋是,當curosr.execute()執行成功的時候,執行conn.commit(),但是執行失敗的時候,就執行conn.roolback(),跟hibernate一樣,應該也是進行事務的回滾。還有一點,有的教程說應該設置conn.autocommit(False)來關閉自動提交事務,這應該也就是我不要commit的原因了吧。insert/update/delete這種更改數據庫的方式都要進行commit,但是select這類查詢操作就沒有必要了,因為select不會更改到數據庫。
In [6]: conn.commit() # 我這里省去了commit,好像也行 In [7]: cursor.execute(sql, ("yd", "456")) Out[7]: 1L查詢操作
In [8]: sql = "select * from user" In [9]: cursor.execute(sql) Out[9]: 2L # fetchall是得到所有的結果,你以可以使用fetchone()來只查詢一條數據,或者fetchmany(size=n)來指定查詢的條數 In [10]: result = cursor.fetchall() In [11]: cursor.fetchall() Out[11]: ((u"zxy", u"123"), (u"yd", u"456")) # 還可以打印出查詢到的條數以用來優雅的遍歷 In [12]: print(cursor.rowcount) 2 # 最后記得關閉conn和cursor In [13]: cursor.close() In [14]: conn.close()
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/38391.html
摘要:用選擇要操作的數據庫,然后通過指針就可以操作這個數據庫了。這樣就在這個數據庫中創建了一個名為的表這是查看表的方式。樹欲靜而風不止,小偷在行動。所以,要特別提醒諸位注意。 通過python操作數據庫的行為,除了能夠完成前面兩講中的操作之外(當然,那是比較常用的),其實任何對數據庫進行的操作,都能夠通過python-mysqldb來實現。 建立數據庫 在《用python操作數據庫(1)...
摘要:用來編寫網站,必須要能夠通過操作數據庫,所謂操作數據庫,就是通過實現對數據的連接,以及對記錄字段的各種操作。交互模式下操作數據庫之連接數據庫操作數據庫的前提是先有數據庫。先建立一個數據庫。 用Python來編寫網站,必須要能夠通過python操作數據庫,所謂操作數據庫,就是通過python實現對數據的連接,以及對記錄、字段的各種操作。上一講提到的那種操作方式,是看官直接通過交互模式來操...
摘要:使用的默認已安裝先安裝安裝的模塊安裝編寫測試 使用的ubuntu 15.04Python 2.7(默認已安裝) 先安裝mysqlsudo apt-get install mysql-server 安裝MySQLdb的模塊sudo apt-get install python-mysqldb 安裝Flasksudo easy_install Flask 編寫測試: #-*- codin...
閱讀 3371·2021-11-22 09:34
閱讀 2857·2021-10-09 09:43
閱讀 1445·2021-09-24 09:47
閱讀 2199·2019-08-30 12:53
閱讀 998·2019-08-29 14:00
閱讀 3356·2019-08-29 13:17
閱讀 2269·2019-08-28 18:00
閱讀 1284·2019-08-26 12:00