私たちが最初に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を例にしています
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)