python基礎教程_學習筆記22:資料庫支援

來源:互聯網
上載者:User

標籤:資料庫   遊標對象   復原   提交   串連   

資料庫支援python資料庫API

支援sql標準的可用資料庫有很多,其中多數在python中都有對應的用戶端模組。

全域變數

python DB API的模組特性

變數名

用途

apilevel

所使用的python db api版本

threadsafety

模組的安全執行緒等級

paramstyle

在sql查詢中使用的參數風格

 

異常

異常

超類

描述

StandardError

 

所有異常的泛型基類

Warning

StandardError

在非致命錯誤發生時引發

Error

StandardError

所有錯誤條件的泛型超類

InterfaceError

Error

關於介面而非資料庫的錯誤

DatabaseError

Error

與資料庫相關的錯誤的基類

DataError

DatabaseError

與資料庫相關的問題,比如值超出範圍

OperationalError

DatabaseError

資料庫內部操作錯誤

IntegrityError

DatabaseError

關係完整性受到影響,比如鍵檢查失敗

InternalError

DatabaseError

資料庫內部錯誤,比如非法遊標

ProgrammingError

DatabaseError

使用者編譯錯誤,比如未找到表

NotSupportedError

DatabaseError

請求不支援的特性(比如復原)

 

為了使用基礎資料庫系統,首先必須串連到它。需要使用具有恰當名稱的connect函數,該函數有多個參數,而具體使用哪個參數取決於資料庫。

 

connect函數是常用參數

參數

描述

是否可選

dsn

資料來源名稱,給出該參數表示資料庫依賴

user

使用者名稱

password

使用者密碼

host

主機名稱

database

資料庫名

 

連線物件方法

方法名

描述

close()

關閉串連之後,連線物件和它的遊標均不可用

commit()

如果支援的話就提交掛起的事務,否則不做任何事

rollback()

復原掛起的事務(可能不可用)

cursor()

返回串連的遊標對象

 

rollback方法可能不可用,因為不是所有的資料庫都支援事務。

commit方法總是可用,但如果資料庫不支援事務,它就沒有任何作用。如果關閉了串連,但還有未提交的事務,它們會隱式地復原——但只有在資料庫支援復原的時候才可以。

 

cursor方法引入另外一個主題:遊標對象。通過遊標執行sql查詢並檢查結果,遊標比串連支援更多的方法,而且可能在程式中更好用。

遊標對象方法

名稱

描述

callproc(name[,params])

使用給定的名稱和參數(可選)調用已命名的資料庫程式

close()

關閉遊標之後,遊標不可用

execute(oper[,params])

執行sql操作,可能使用參數

execute(oper,pseq)

對序列中的每個參數執行sql操作

fetchone()

把查詢的結果集中的下一行儲存為序列或者None

fetchmany([size])

擷取查詢結果集中的多行,預設尺寸為arraysize

fetchall()

將所有(剩餘)的行作為序列的序列

nextset()

跳至下一個可用的結果集(可選)

setinputsizes(sizes)

為參數預先定義記憶體地區

setoutputsize(size[,col])

為擷取的大資料值設定緩衝區尺寸

 

遊標對象特性

名稱

描述

description

結果列描述的序列,唯讀

rowcount

結果中的行數,唯讀

arraysize

fetchmany中返回的行數,預設為1

 

類型

資料庫對插入到具有某種類型的列中的值有不同的要求,是為了能正確地與基礎sql資料庫進行互動操作,DB API定義了用於特殊類型和值的建構函式及常量(單例模式)。

DB API建構函式和特殊值

名稱

描述

Date(year,month,day)

建立儲存日期值的對象

Time(hour,minute,second)

建立儲存時間值的對象

Timestamp(y,mon,d,h,min,s)

建立儲存時間戳記值的對象

DateFromTicks(ticks)

建立儲存來自新紀元以來秒數的對象

TimeFromTicks(ticks)

建立儲存來自秒數的時間值的對象

TimestampFromTicks(ticks)

建立儲存來自秒數的時間戳記值的對象

Binary(string)

建立儲存二進位字串值的對象

STRING

描述基於字串的列類型

BINARY

描述二進位列

NUMBER

描述數字列

DATETIME

描述日期/時間列

ROWID

描述行ID列


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.