Python學習之資料庫操作

2021-08-08 16:21:58 字數 1934 閱讀 2389

在python中,我們可以通過mysqldb這一介面卡連線並運算元據庫。

其中有兩個主要的物件connectioncursor,分別用來與資料庫連線和通訊。

下面給出乙個與資料庫連線的例項:

conn = mysqldb.connect(

host='127.0.0.1', # 主機名 127.0.0.1 為本機ip

port=3306, # 埠

user='root', # 使用者名稱

passwd='***', # 資料庫密碼

db="test", # 資料庫名

charset='utf8'

# 字符集

)

conn有幾個比較重要的方法:

cursor最重要的方法是execute()fetch*(),其中execute用來執行sql語句,fetch用來查詢結果:

fetch*方法其實類似於c語言的的檔案操作,有乙個指標指向當前的位置,fetchone()得到第一條結果,此時指標便會指向第二條結果,此時fetchall()便得到除了第一條以外的所有結果。

cursor = conn.cursor()       # 建立游標

sql = "select * from user"

cursor.execute(sql) # 執行sql語句

print cursor.rowcount

# 上一條sql語句處理或影響的行數

rs = cursor.fetchone() # fetchone為查詢一條結果

print rs

rs = cursor.fetchmany(3) # fetchmany(n) 為查詢n條

print rs

rs = cursor.fetchall() # fetchall 為查詢剩餘所有

print rs

cursor.close() # 關閉游標和連線

conn.close()

此時靈活運用以上的兩個物件,便可以對資料庫進行各種操作。

conn = mysqldb.connect(...)

cursor = conn.cursor()

#插入語句

sql_insert = "insert into user(userid, username) values (10, 'name10')"

# 更新語句

sql_update = "update user set username='name11' where userid=1"

# 刪除語句

sql_delete = "delete from user where useid<3"

try:

# 一組操作,同時進行,出錯時取消所有操作

cursor.execute(sql_insert)

print cursor.rowcount

cursor.execute(sql_update)

print cursor.rowcount

cursor.execute(sql_delete)

print cursor.rowcount

# 若有異常 輸出異常 將事物取消

except exception as e:

print e

conn.rallback()

# 提交事物, 使變化在資料庫中生效

conn.commit()

cursor.close()

conn.close()

python之資料庫操作 sqlite

關於sqlite 不像常見的客戶端 伺服器結構範例,sqlite引擎不是個程式與之通訊的獨立程序,而是連線到程式中成為它的乙個主要部分。所以主要的通訊協議是在程式語言內的直接api呼叫。這在消耗總量 延遲時間和整體簡單性上有積極的作用。整個資料庫 定義 表 索引和資料本身 都在宿主主機上儲存在乙個單...

資料庫之Python操作MySQL

python操作mysql一共有兩種方式,第一種是用原生模組pymysql和mysqldb,這兩種模組在py2中都支援,但是在py3中只支援pymysql,但是pymysql可以通過pymysql.install as mysqldb 的方式構造成和mysqldb一樣的使用 第二種方式是orm框架 ...

qt學習之資料庫操作

qt下運算元據庫的簡單介紹 自己的環境 windows10 64位 mysql 8.0.13 qt 5.12 1,準備工作 將mysql安裝路徑下的libmysql.dll,新增到qt安裝目錄d qt 5.12.3 msvc2017 64 bin 根據自己的而定 下,在.pro檔案中新增 qt sq...