1.一次增加一條記錄
# 匯入資料庫模組
import mysqldb
# 開啟資料庫的門,建立乙個資料庫物件
conn = mysqldb.connect(host='127.0.0.1', user='root', passwd='jay', db='python')
# host是本機的回環介面,user是資料庫的使用者名稱,passwd是使用者名稱對應的登陸密碼.db是要操作的資料庫
# 伸出乙隻手,利用這只手對資料庫記錄進行操作
cur = conn.cursor()
# 定義sql語句運算元據,插入記錄
sql = 'insert into userinfo(username,passwd) values(%s,%s)' # %s是佔位符,
params = ('harry', '890')
recount = cur.execute(sql, params)
# 提交請求
conn.commit()
# 把手伸回來
cur.close()
# 關上門
conn.close()
print recount
2.一次匯入多條記錄
import mysqldb
conn = mysqldb.connect(host='127.0.0.1', user='root', passwd='jay', db='python')
# 伸出手
cur = conn.cursor()
# 運算元據
sql = 'insert into userinfo(username,passwd) values(%s,%s)'
# %s是佔位符,
params = [('natasha','134'),
('jack','345'),
('lucy','234')]
# 注意:增加多條資料是將多個資料元組放進乙個列表中,使用的方法是executemany()
recount = cur.executemany(sql, params)
# 提交請求
conn.commit()
# 把手伸回來
cur.close()
# 關上門
conn.close()
print recount
import mysqldb
conn = mysqldb.connect(host='127.0.0.1', user='root', passwd='jay', db='python')
# 伸出手
cur = conn.cursor()
# 運算元據,sql語句是delete關鍵字
sql = 'delete from userinfo where username=%s'
# %s是佔位符,
params = ('tom',)
recount = cur.execute(sql, params)
# 提交請求
conn.commit()
# 把手伸回來
cur.close()
# 關上門
conn.close()
print recount
import mysqldb
conn = mysqldb.connect(host='127.0.0.1', user='root', passwd='jay', db='python')
# 伸出手
cur = conn.cursor()
# 運算元據,sql語句關鍵字是select
sql = 'select * from userinfo' # 也可以直接將sql語句寫進recount = cur.execute(sql)中
# %s是佔位符,
recount = cur.execute(sql)
data = cur.fetchall()
# 提交請求
conn.commit()
# 把手伸回來
cur.close()
# 關上門
conn.close()
print recount
print data
import mysqldb
conn = mysqldb.connect(host='127.0.0.1', user='root', passwd='jay', db='python')
# 伸出手
cur = conn.cursor()
# 運算元據,sql關鍵字是update
sql = 'update userinfo set passwd=%s where username=%s'
# %s是佔位符,
params = ('hello', 'jay')
recount = cur.execute(sql, params)
# 提交請求
conn.commit()
# 把手伸回來
cur.close()
# 關上門
conn.close()
print recount
是指作為單個邏輯工作單元執行的一系列操作,要麼完全地執行,要麼完全地不執行。事務處理可以確保除非事務性單元內的所有操作都成功完成,否則不會永久更新面向資料的資源。通過將一組相關操作組合為乙個要麼全部成功要麼全部失敗的單元,可以簡化錯誤恢復並使應用程式更加可靠我們想象乙個場景,在用支付寶轉賬的時候,一個人賬戶裡邊的錢減少,另一個人賬戶裡邊的錢增加,這樣實際上是在對資料庫中的兩條記錄進行操作。如果我們在操作兩條記錄的過程中,發生了不可預知的錯誤,那麼會導致乙個人的錢減少了而另外乙個人的錢數並沒有增加。防止這樣事件發生的操作是:在對兩條記錄的操作都完成後再提交,如果中間發生了錯誤,那麼資料庫會回滾,滾到第一條操作之前的樣子,保證資料庫內容的正確。
import mysqldb
conn = mysqldb.connect(host='127.0.0.1',user='root',passwd='jay',db='money')
cur = conn.cursor()
sql = 'update money set count = %s where id = 1'
params = (0,)
recount = cur.execute(sql,params)
conn .commit()
sql = 'update money set count = %s where id = 2'
param = (100,)
recount = cur.execute(sql,param)
conn.commit()
# 如果只提交上邊乙個的操作,那麼在資料庫中只有第乙個的資料發生改變,
# (借錢和還錢的時侯不和常理)
# 一般防止這種操作發生,我們給兩次操作起不同名字,在最終只提交一次
# 如果有乙個的操作的步驟未完成,那麼跟他有關係的另乙個操作也不會發生
python對資料庫的操作
1.安裝軟體 yum install mariadb server mysql python y 進行基礎配置後,設定編碼格式為utf 8,支援中文 mysql secure installation 安全初始化 vim etc my.cnf 10 skip networking 1 15 char...
python的資料庫操作 Python對資料庫操作
windows下安裝mysql python linux下安裝mysql python以連線mysql 解壓後,進入目錄下,執行python setup.py install 安裝過程中,常會遇到的問題 1 提示找不到mysql config的話,一般是由於mysql採用的是lnmp一鍵安裝包安裝的...
Python對資料庫進行操作
步驟三 編寫python指令碼,下例只是做了個查詢 具體使用要結合你的需求進行對資料庫操作,然後對操作結果進行校驗和下部操作。usr bin python coding utf 8 import mysql.connector import mysqldb conn mysqldb.connect ...