Python操作データベース-SQLSERVER-pyodbc

私たちが最初にPythonの学習を始めたとき、誰もがpymssqlを使用してSQLSERVERを読み書きしていました。しかし、実際の使用プロセスでは、pymssqlの読み取りと書き込みのパフォーマンスと信頼性は、実際にはpyodbcほど良くありません。

Microsoftはpyodbcライブラリの使用を公式に推奨しているため、学習および本番環境として使用されます。参照リンク  https://docs.microsoft.com/en-us/sql/connect/python/python-driver-for-sql-server?view=sql-server-2017  

 

最初のステップは、pyodbc Python開発用の開発環境を構成することです。

1. WindowsにMicrosoft ODBC SQL Serverドライバーをインストールする

必要に応じてウィンドウをインストール

ダウンロード Microsoft ODBC Driver 17 for SQL Server(x64)を
ダウンロード ダウンロードします。Microsoft ODBC Driver 17 for SQL Server(x86)をダウンロードします。

LinuxはCentosを例にしています

参照リンク  https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-2017# redhat17

sudo  su 

#OSバージョンに適切なパッケージ
ダウンロード#OS バージョンに対応する次の

いずれかを選択#RedHat Enterprise Server 6 
curl https:// packages.microsoft.com/config/rhel/6/prod.repo> / etc / yum.repos.d / mssql- 

release.repo #RedHat Enterprise Server 7 
curl https:// packages.microsoft.com/config/rhel/7/prod.repo> /etc/yum.repos.d/mssql- release.repo 

#RedHat Enterprise Serverの8とOracleのLinux 8 
カールます。https:// packages.microsoft.com/config/rhel/8/prod.repo> /etc/yum.repos.d/mssql-release.repo 

終了
sudoを yumを unixODBCの-utf16-削除unixODBCの-UTF16 develの#to回避の競合が
 SUDO ACCEPT_EULA = Yは、yumを インストールmsodbcsql17 
#オプション:のためのBCPとsqlcmdの
 sudoの ACCEPT_EULA = Y yumを インストール mssql- ツールは
 エコー " は/ opt / MSSQL:輸出PATH =" $ PATH -tools / binに」' >>〜/ .bash_profileの
 エコー ' 輸出PATH = "$ PATH:/ OPT / MSSQL-ツール/ binに" " >>〜/ .bashrcのの
ソース〜/ .bashrcの
#オプション:unixODBCの開発ヘッダーを
 sudoを ヤム unixODBC-develをインストールする

odbcドライバーのインストールが完了すると、依存環境が完成します

2. pyodbcをインストールする

これは、pipがインストールされている限りです。

pip インストール pyodbc

3. t-sql操作にpyodbcを使用する方法

1)簡単なクエリ

、pyodbcインポート
#sのいくつかの値は、サーバーの他の例です
。#サーバー = localhostの\ SQLEXPRESS #本当の名前の欄
#サーバー = myserverのポート特別なポート番号、デフォルトの1433がある場合#インスタンス
サーバー = " myserver.database:TCPが。 windows.net '  
データベース = ' mydb '  
ユーザー名 = ' myusername '  
パスワード = ' mypassword '  
cnxn = pyodbc.connect(' DRIVER = {SQL Server用のODBCドライバー17}; SERVER = '+サーバー+' ; DATABASE = ' + database + ' ; UID = ' + username + ' ; PWD = ' + password)
cursor = cnxn.cursor()

cursor.execute(" SELECT @@ version; " 
row = cursor.fetchone() 
 while row :
    print(row [ 0 ])
    row = cursor.fetchone()

2)操作を実行する

cursor.execute("" " 
INSERT INTO SalesLT.Product(Name、ProductNumber、StandardCost、ListPrice、SellStartDate)
VALUES(?、?、?、?、?)" "" ' SQL Server Express New 20 '' SQLEXPRESS New 20 ' 、0、0、CURRENT_TIMESTAMP)
cnxn.commit()
row = cursor.fetchone()

while row: 
     print' Inserted Product key is ' + str(row [0]))
    row = cursor.fetchone()

3)ウィンドウ認証の使用方法

cnxn = pyodbc.connect(' DRIVER = {SQL Server用のODBCドライバー17}; SERVER = ' + server + ' ; DATABASE = ' + database + ' ; Trusted_Connection = yes)

 

おすすめ

転載: www.cnblogs.com/Evan-fanfan/p/12694287.html