記錄一下pyodbc連接數據庫的使用方法和注意事項,基於python2.7:
前提: pip install pyodbc 。下載pyodbc包。
pyodbc.connect('DRIVER=;SERVER=;DATABASE=;UID=;PWD=')
DRIVER:對應數據庫版本的驅動器,SQL server 2008是“
SQL Server Native Client 10.0”,
SERVER:數據庫服務器名稱
DATABASE:數據庫名稱,UID:賬號,PWD:密碼。
conn = pyodbc.connect('DRIVER=;SERVER=;DATABASE=;UID=;PWD=') 用此語句連接,獲得連接對象。
cursor = conn.cursor() %獲得游標。
cursor.execute(sql) %傳遞sql語句給數據庫。
如:
cursor.execute('select * from table1 where n1=? and n2=?' ,var1,var2) %傳遞sql語句,sql語句中若含有變量,用?作為占位符代替,在后面給出變量。?個數不限,按照先后順序賦值。 可直接跟列表,如:
var = [var1,var2]
cursor.execute('select * from table1 where n1=? and n2=?' ,var)
cursor.execute('''select *
from table1
where n1=? and n2=?''' ,var1,var2) 可以通過三引號。讓sql語句可以跨行,增加sql語句可讀性。
cursor.fetchone() 返回結果數據的一行,返回一個單行的數據對象,row.
row = cursor.fetchone()
row[1] % 可以類似於列表按索引號來訪問具體數據
row.lie_name %也可以按 列名 來進行索引
可通過for循環遍歷,獲取所有數據或指定數目的數據
cursor.fetchall() 獲得所有數據,返回一個list對象,每行就是一個tuple元組。
rows = cursor.fetchall()
對數據進行增加,刪除,修改,等只要改變到數據庫數據或屬性的操作,都需要進行提交
conn.commit() % 操作提交,如果中途出錯,或連接中斷,則會發生數據回流,不會影響到數據庫原有數據。
最后
conn.close() %關閉數據庫連接。