Python 連接數據庫的多種方法

Python是一種計算機程序設計語言,它是一種動態的、面向對象的腳本語言。它是一種跨平臺的,可以運行在 Windows,Mac和 Linux/Unix系統上。

Python 連接數據庫的多種方法

在日常使用中需要對大量數據進行數據分析,那麼就必然用到數據庫,我們常用的數據庫有 SQL Server , MySQL , Oracle , DB2 , SQLite ,Hive ,PostgreSQL , MongoDB還有其他常用的 Microsoft Access,Microsoft Excel等。

今天主要介紹比較常用的庫,其中兩個是:pyodbc 和 pymssql,他們可以連接多個常用數據庫。

記得關注小編後私信【學習】領取Python學習教程哦。

首先是需要安裝Python, 根據操作系統選擇對應平臺的Pyhon版本,可以在官網下載。

Python 連接數據庫的多種方法

然後就是安裝 pyodbc,在聯網情況下,打開 python 軟件,輸入:pip install pyodbc

等待安裝完成。然後我們就可以對數據庫進行操作了,比如:連接、查詢、插入、修改、刪除等操作。

下面主要介紹如何實現對數據庫的操作:

第一,連接數據庫。從GitHub上可以查詢到如下 pyodbc 連接 SQL Server 的要求:

Microsoft have written and distributed multiple ODBC drivers for SQL Server:

  • {SQL Server} - released with SQL Server 2000
  • {SQL Native Client} - released with SQL Server 2005 (also known as version 9.0)
  • {SQL Server Native Client 10.0} - released with SQL Server 2008
  • {SQL Server Native Client 11.0} - released with SQL Server 2012
  • {ODBC Driver 11 for SQL Server} - supports SQL Server 2005 through 2014
  • {ODBC Driver 13 for SQL Server} - supports SQL Server 2005 through 2016
  • {ODBC Driver 13.1 for SQL Server} - supports SQL Server 2008 through 2016
  • {ODBC Driver 17 for SQL Server} - supports SQL Server 2008 through 2017
import pyodbc 
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=192.168.1.6;DATABASE=test;UID=sa;PWD=Admin123')

DRIVER:對應數據庫版本的驅動器,SQL server 2000是“SQL Server”;

SERVER:數據庫服務器名稱或者數據庫服務器的IP地址;

DATABASE:數據庫名稱,UID:賬號,PWD:密碼。

第二,查詢數據庫

cursor = cnxn.cursor() #獲得遊標

cursor.execute("select * from test.dbo.JZGK") #執行SQL的查詢語句

rows = cursor.fetchall() #獲得所有數據,返回一個list對象

for row in rows: #使用for循環對查詢的數據遍歷並打印出來

print(row.LoopName, row.Press,row.Temp,row.Flow,row.Time_Stamp)

Python 連接數據庫的多種方法

第三,數據庫中插入數據

import pyodbc

cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=192.168.1.6;DATABASE=test;UID=sa;PWD=Admin123')

cursor = cnxn.cursor()

cursor.execute("insert into products(id, name) values ('3', 'abd')") #使用SQL的insert語句向數據庫的表products插入一條記錄

cnxn.commit() #操作提交,如果中途出錯,或連接中斷,則會發生數據迴流,不會影響到數據庫原有數據。

第四,數據庫中刪除數據

cursor.execute("delete from products where id <> ?", '1') #使用SQL的delete 語句刪除數據

print('Deleted {} inferior products'.format(cursor.rowcount)) 
cnxn.commit()
Python 連接數據庫的多種方法

第五,數據庫中更新數據

cursor.execute("UPDATE test SET LoopName=FIQ1005 WHERE LoopName=FIQ1004) #使用SQL的UPDATE 語句更新數據

cnxn.commit() 
cnxn.close()

注意:所有的SQL操作完成後需要關閉數據庫連接

作者劍控老羅

具有10年工業自動化領域SCADA,DCS,PLC等項目實施經驗,熟悉石化行業,油田數字化行業,熟悉多個品牌PLC,HMI,SCADA,數據庫等。

記得關注小編後私信【學習】領取Python學習教程哦。

Python 連接數據庫的多種方法


分享到:


相關文章: