Cara menggunakan PYODBC pada Python

Database Azure SQL atau Instans Terkelola adalah penawaran cloud Microsoft untuk SQL Server di lingkungan cloud terkelola. Biasanya, kami menghubungkan database dari SQL Server Management Studio, Azure Data Studio, atau aplikasi untuk data kueri.

Python adalah bahasa pemrograman populer dengan pengembangan web, kemampuan pembelajaran mesin. Ini menyediakan pendekatan berorientasi objek menggunakan konstruksi bahasa. Anda dapat menggunakannya untuk menulis lebih sedikit baris kode untuk melakukan berbagai tugas menggunakan modul dan pustaka khusus. Oleh karena itu, Anda mungkin mendapatkan persyaratan untuk menghubungkan Azure SQL Database menggunakan Python.

Artikel ini membahas bagaimana Anda menghubungkan Azure SQL DB menggunakan Python di sistem operasi Ubuntu.

  • Persyaratan
    • Visual Studio Code IDE versi terbaru
    • Driver Microsoft ODBC untuk SQL Server
    • Langganan Azure Aktif
    • Unduh penginstal Python
    • Instal pyodbc menggunakan pip – Pengelolaan paket Python
    • Instal ekstensi Python di Visual Studio Code
  • Skrip Python untuk menanyakan Azure SQL Database
  • Gunakan bingkai data Pandas untuk membuat kueri tabel SQL di Azure SQL Database
  • Impor data dari file CSV menggunakan skrip Python
  • Kesimpulan

Persyaratan

Sebelum kita mulai, mari kita periksa prasyarat untuk artikel ini dengan cepat.

Visual Studio Code IDE versi terbaru

Cara menggunakan PYODBC pada Python

Driver Microsoft ODBC untuk SQL Server

Anda memerlukan pengandar Microsoft ODBC untuk SQL Server di Linux. Untuk artikelnya, kami menggunakan ODBC 17 terbaru menggunakan langkah-langkah berikut.

Hubungkan dengan akun Sudo dan gunakan utilitas CURL untuk menambahkan kunci paket dari toko paket Microsoft.

sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key tambahkan –

Cara menggunakan PYODBC pada Python

Di Ubuntu 20.04, unduh paket yang sesuai menggunakan skrip berikut.

curl https://packages.microsoft.com/config/ubuntu/21.04/prod.list > /etc/apt/sources.list.d/mssql-release.list

Cara menggunakan PYODBC pada Python

Gunakan perintah apt-get untuk memperbarui repositori.

$ sudo apt-get update

Cara menggunakan PYODBC pada Python

Sekarang, instal driver Microsoft ODBC 17 dengan perintah berikut.

sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17

Ini mengunduh dan menginstal ODBC 17. Jika Anda telah mengunduhnya di lingkungan Anda, Anda mendapatkan pesan berikut.

Cara menggunakan PYODBC pada Python

Langganan Azure Aktif

Kami memerlukan langganan Azure aktif dan mengonfigurasi Azure SQL Database dengan database sampel untuk menanyakannya. Anda juga memerlukan kredensial masuk untuk menghubungkan Azure dari Python.

Catatan: Kami tidak akan membahas pembuatan Azure SQL DB dalam artikel ini. Jika Anda tidak tahu, lihat artikel Azure di GuideSure ( https://www.guidesure.net/category/azure/)

Untuk artikel ini, kami memerlukan nama server logis Azure yang Anda dapatkan dari portal Azure (seperti yang ditunjukkan di bawah) atau Azure CLI.

Cara menggunakan PYODBC pada Python

Unduh penginstal Python

Artikel ini menggunakan Python untuk menghubungkan ke SQL Server. Oleh karena itu, kita perlu menginstal dan mengkonfigurasi Python 3 di Ubuntu.

Pertama, verifikasi bahwa Python sudah diinstal atau tidak menggunakan perintah – Python – – version.

Kami tidak memilikinya; oleh karena itu, dikatakan, perintah ‘python’ tidak ditemukan.

Cara menggunakan PYODBC pada Python

Perintah di bawah ini mengunduh dan menginstal versi Python 3.9. Anda dapat memeriksa versi Python terbaru dari https://www.python.org/

sudo apt install python3.9

Cara menggunakan PYODBC pada Python

Cara menggunakan PYODBC pada Python

Setelah Python diinstal, verifikasi versi build seperti yang ditunjukkan di bawah ini.

Cara menggunakan PYODBC pada Python

Instal pyodbc menggunakan pip – Pengelolaan paket Python

Luncurkan VS Code IDE di Ubuntu dan arahkan ke Terminal -> Terminal Baru. Ini meluncurkan terminal bash seperti yang ditunjukkan di bawah ini.

Cara menggunakan PYODBC pada Python

Untuk menginstal pyodbc, kami memerlukan utilitas pip di Linux. Jika Anda sudah memilikinya di Ubuntu, abaikan ini.

sudo apt install pip

Masukkan Y untuk melanjutkan instalasi utilitas pip.

Cara menggunakan PYODBC pada Python

Sekarang, instal pyodbc di Ubuntu dengan skrip berikut.

pip instal pyodbc

Cara menggunakan PYODBC pada Python

Instal ekstensi Python di Visual Studio Code

IDE kode VS menyediakan ekstensi untuk bahasa Python untuk memberikan penyorotan sintaks, pengkodean warna, saran sebaris. Buka ekstensi kode VS (dari menu sebelah kiri) dan instal ekstensi bahasa Python di bawah ini.

Cara menggunakan PYODBC pada Python

Setelah menginstal ekstensi Python di VS Code, itu membuka halaman- Memulai pengembangan python.

Langkah 1: Instal Python – Sudah selesai; oleh karena itu, ini menunjukkan tanda centang untuk langkah ini.

Langkah 2: Pilih juru bahasa python: Kami menginstal Python 3.9.5 pada langkah sebelumnya. Oleh karena itu, klik opsi – pilih juru bahasa python dan pilih versi Python yang benar dari drop-down di bawah ini.

Cara menggunakan PYODBC pada Python

Itu juga menunjukkan penerjemah Python yang direkomendasikan, seperti yang ditunjukkan di bawah ini.

Cara menggunakan PYODBC pada Python

Skrip Python untuk menanyakan Azure SQL Database

Luncurkan editor kode VS dan buka file baru ->, dan Anda mendapatkan pesan untuk memilih bahasa IDE.

Cara menggunakan PYODBC pada Python

Klik hyperlink – Pilih bahasa dan pilih bahasa Python seperti yang ditunjukkan di bawah ini.

Cara menggunakan PYODBC pada Python

Di editor, tempel skrip Python berikut yang tersambung ke Azure SQL Database. Simpan skrip sebagai testscript.py

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

impor pyodbc

server = ‘azuredemosqldemo.database.windows.net’

database = ‘azuredemodatabase’

nama pengguna = ‘sqladmin’

kata sandi = ‘*********’

driver= ‘{ODBC Driver 17 untuk SQL Server}’

dengan pyodbc.connect(‘DRIVER=’+driver+’;SERVER=tcp:’+server+’;PORT=1433;DATABASE=’+database+’;UID=’+namapengguna+’;PWD=’+ kata sandi) sebagai penghubung:

dengan conn.cursor() sebagai kursor:

cursor.execute(“PILIH TOP 3 ProductID, Nama, ProductNumber FROM [SalesLT].[Product]”)

baris = cursor.fetchone()

sementara baris:

cetak (str(baris[0]) + ” ” + str(baris[1]))

baris = cursor.fetchone()

Jalankan testscript.py menggunakan perintah – python3 testscript.py

Saya menentukan 3 klausa teratas untuk mengembalikan hanya tiga baris dalam output untuk tujuan demo.

Cara menggunakan PYODBC pada Python

Mari kita pahami skrip baris demi baris.

  • Baris 1 mengimpor modul pyodbc dalam sesi skrip Python saat ini. Langkah ini akan memastikan bahwa Anda dapat menjalankan skrip Python ODBC tanpa masalah ketergantungan.

  • Baris 2 mendefinisikan variabel untuk menyimpan nama Azure SQL Server.

  • Baris 3 menyimpan nama Azure SQL Database.

  • Baris 4 dan 5 menyimpan kredensial untuk menghubungkan dengan Azure DB. Kredensial ini harus memiliki izin untuk melakukan tugas yang ditentukan dengan sukses.

  • Baris 6 mendefinisikan pengandar SQL server sebagai pengandar ODBC untuk SQL Server.

  • Baris 8 menggunakan metode pyodbc.connect() untuk menghubungkan ke Azure DB menggunakan nilai yang ditentukan oleh semua parameter.

  • Baris 10 mendefinisikan skrip T-SQL yang ingin kita jalankan pada koneksi yang ditentukan dalam string koneksi. Anda dapat menambahkan pernyataan t-SQL, prosedur tersimpan, fungsi, tampilan dalam skrip Python ini.

  • Kode yang tersisa mengeksekusi skrip dan mencetak setiap nilai baris di konsol. Cursor.fetchone() mengembalikan satu catatan atau tidak satu pun baris jika tidak ada lagi baris yang tersedia.

Gunakan bingkai data Pandas untuk membuat kueri tabel SQL di Azure SQL Database

Bingkai data Pandas dapat mengimpor file CSV ke Python, membuat bingkai data dan kueri, dan mengimpor data ke dalam tabel. Manfaat modul pandas adalah menyediakan struktur data dengan Python mirip dengan SQL. Oleh karena itu, Anda dapat bekerja secara efisien dengan SQL menggunakannya.

Untuk menggunakan modul pandas, pertama, instal menggunakan perintah – pip install pandas

Cara menggunakan PYODBC pada Python

Ini memiliki tiga fungsi berikut untuk membaca data dari SQL.

  • pandas.read_sql_table() : Gunakan tabel sebagai parameter

  • pandas.read_sql_query(): Gunakan query SQL sebagai parameter

  • pandas.read_sql(): Ini dapat menggunakan tabel atau kueri sebagai parameter.

Skrip Python berikut menggunakan bingkai data panda dan modul read_sql_query() untuk mengeksekusi skrip SQL di Azure SQL Database. Untuk string koneksi, kami menetapkan variabel string koneksi conn di pd.read_sql_query(). Anda dapat menentukan kueri, dan itu mengembalikan hasil bingkai data seperti yang ditunjukkan di bawah ini.

impor pyodbc

impor panda sebagai pd

server = ‘azuredemosqldemo.database.windows.net’

database = ‘azuredemodatabase’

nama pengguna = ‘sqladmin’

kata sandi = ‘*********’

driver= ‘{ODBC Driver 17 untuk SQL Server}’

dengan pyodbc.connect(‘DRIVER=’+driver+’;SERVER=tcp:’+server+’;PORT=1433;DATABASE=’+database+’;UID=’+namapengguna+’;PWD=’+ kata sandi) sebagai penghubung:

df=pd.read_sql_query(‘Pilih Top 5 ProductID, Name, ProductNumber dari SalesLT.Product order by productid’, samb)

cetak (df)

Cara menggunakan PYODBC pada Python

Impor data dari file CSV menggunakan skrip Python

Anda dapat mengimpor data ke tabel SQL menggunakan file CSV secara teratur. Ada beberapa cara untuk mengimpor data ke tabel SQL Server, seperti paket SSIS, panduan Impor dan Ekspor data. Anda dapat menggunakan bingkai data pandas untuk membaca dan mengimpor data juga.

Misalnya, saya memiliki contoh file CSV dengan data berikut.

Cara menggunakan PYODBC pada Python

Kita dapat menggunakan modul bingkai data panda read_csv() untuk membaca data CSV dan menampilkannya di layar. Di bagian kolom, kami menentukan nama kolom untuk impor data.

impor panda sebagai pd

data = pd.read_csv (r’sampledata.csv’)

df = pd.DataFrame(data, kolom= [‘Country’,’ID’,’EmpName’])

cetak (df)

Cara menggunakan PYODBC pada Python

Sekarang, kita perlu mengimpor data CSV ini ke tabel SQL [TestTablePy]. Untuk mengeksekusi pernyataan insert, kita menggunakan fungsi cursor.execute() dan menggunakan operator wildcard untuk menentukan nilai untuk setiap kolom yang tersedia di file CSV.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

impor pyodbc

impor panda sebagai pd

data = pd.read_csv (r’sampledata.csv’)

df = pd.DataFrame(data, kolom= [‘Country’,’ID’,’EmpName’])

server = ‘azuredemosqldemo.database.windows.net’

database = ‘azuredemodatabase’

nama pengguna = ‘sqladmin’

kata sandi = ‘*********’

driver=”{ODBC Driver 17 untuk SQL Server}”

dengan pyodbc.connect(‘DRIVER=’+driver+’;SERVER=tcp:’+server+’;PORT=1433;DATABASE=’+database+’;UID=’+namapengguna+’;PWD=’+ kata sandi) sebagai penghubung:

kursor= koneksi.kursor()

# Buat tabel

# Masukkan DataFrame ke Tabel

untuk baris di df.itertuples():

kursor.execute(“‘

MASUKKAN KE TestTablePy (Negara, ID, EmpName)

NILAI (?,?,?)

”’,

baris.Negara,

baris.ID,

baris.NamaEmp

)

samb.komit()

Skrip Python berhasil dijalankan, dan Anda dapat memverifikasi data dalam tabel.

Cara menggunakan PYODBC pada Python

Data cocok dengan data CSV, seperti yang ditunjukkan di bawah ini.

Cara menggunakan PYODBC pada Python

Kesimpulan

Artikel ini menggunakan skrip Python untuk mengakses tabel database Azure SQL menggunakan bingkai data pyodbc dan pandas. Selanjutnya, artikel membaca data dari CSV dan mengimpornya ke tabel SQL. Skrip Python sangat membantu untuk eksplorasi data, analisis menggunakan berbagai modul panda. Oleh karena itu, kombinasi skrip Python untuk database Azure sangat berharga, dan saya akan merekomendasikan Anda untuk menjelajahinya.