Python筆記(十二) 運算元據庫

2022-02-24 12:14:16 字數 3948 閱讀 4235

(一)前言

本文說明如何連線oracle、mysql、sqlserver,以及執行sql、獲取查詢結果等。

(二)db-api

db-api闡明一系列所需物件和資料庫訪問機制的標準。

python運算元據庫的模組如果遵循db-api的標準(應該都會遵循這個標準),函式、方法的名稱及功能應該是差不多的(下面幾張**列出了部分內容),就是傳的引數可能有點區別。

connect函式

connect函式通過connection物件訪問資料庫。該函式建立並返回乙個connection物件。

引數說明

host

user

使用者名稱password

密碼database

資料庫名

connection物件

方法說明

close()

關閉資料庫連線

commit()

提交事務

rollback()

取消事務

cursor()

使用該連線建立並返回乙個游標物件(或類游標物件)

cursor物件

(感覺比較重要的就下面這3個)

方法說明

execute()

執行sql

fetchall()

獲取查詢結果(執行select 語句後)

callproc()

呼叫儲存過程

異常

異常

說明

dataerror

處理資料時出現問題

operationalerror

資料庫操作執行期間出現問題

integrityerror

資料庫關係完整性錯誤

programmingerror

sql執行失敗

(三)模組安裝

(四)oracle示例

從下面3個示例可以看出,**其實基本相同,只是匯入的模組不一樣(其他資料庫應該也是差不多的)。

import

cx_oracle

#連線資料庫,引數:使用者名稱/密碼@伺服器ip:埠號/例項名

conn = cx_oracle.connect('

py/[email protected]:1521/orcl')

#建立游標物件

cur =conn.cursor()

#執行sql

cur.execute("

insert into test_py t values('1005','zs','張三','123456')")

cur.execute(

"update test_py t set t.user_name='李四' where t.id='123' ")

#提交事務

conn.commit()

#執行sql

cur.execute("

select * from test_py")

#獲得查詢結果

row =cur.fetchall()

print

(row)

#關閉資料庫連線

(五)mysql示例

1

import

pymysql23

#連線資料庫,host:伺服器ip user:使用者名稱 password:密碼 database:資料庫名

4 conn = pymysql.connect(host='

192.168.4.196

', user='

root

', password='

password

', database='

test')

5#建立游標物件

6 cur =conn.cursor()7#

執行sql

8 cur.execute("

insert into test_py(id,user_account) values('100','admin')")

9 cur.execute("

update test_py set user_account = 'test6' where id='123'")

10#提交事務

11conn.commit()12#

執行sql

13 cur.execute("

select * from test_py")

14#獲得查詢結果

15 row =cur.fetchall()

16print

(row)17#

關閉資料庫連線

(六)sql server示例

import

pymssql

#連線資料庫,host:伺服器ip\\例項名 user:使用者名稱 password:密碼 database:資料庫名

conn = pymssql.connect(host='

192.168.4.196\\amsys

', user='

sa', password='

123', database='

test')

#建立游標物件

cur =conn.cursor()

#執行sql

cur.execute("

insert into test_py(id,user_account) values('100861','admin')")

cur.execute(

"update test_py set user_account = 'test6' where id='123'")

#提交事務

conn.commit()

#執行sql

cur.execute("

select * from test_py")

#獲得查詢結果

row =cur.fetchall()

print

(row)

#關閉資料庫連線

conn.close()

python運算元據庫

資料庫的操作在現在的python裡面已經變得十分的好用,有了一套api標準.下面的就是講講如何的去使用這套框架定義.此框架包含以下部分 connect parameters.其中的引數格式如下 dsn 資料來源名稱 user 使用者名稱 可選 password 密碼 可選 host 主機名 可選 d...

python 運算元據庫

目的 通過excel定義檢查指標項,然後通過python讀取指標,通過oracle sqlplus工具去執行獲取具體巡檢結果。unicode utf 8 coding utf 8 import os import sys import xlrd import paramiko reload sys ...

python運算元據庫

python運算元據庫都是通過資料庫驅動取操作的。現在主要有兩張,一種是通過pymysql,還有一種是通過sqlalchemy。在這裡可能還會有人說還有mysqldb模組也可以操作。確實是的,但是mysqldb對python3已經不支援了,所以這裡我就不討論了。第一種pymysql pymysql幫...