Python中對資料庫的操作

2021-08-21 18:49:28 字數 3564 閱讀 2944

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 ...