天天看點

python pyodbc連接配接sql server資料庫

  記錄一下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()   %關閉資料庫連接配接。