Jak połączyć się z SQL Server za pomocą Pythona

Jak połączyć się z SQL Server za pomocą Pythona

Python to używany język programowania do analizy danych i aplikacji uczenia maszynowego. Łącząc Python z serwerem SQL za pomocą biblioteki „PiODBC”, możemy łatwo manipulować danymi w bazie danych SQL Server z Python.

W tym artykule omówimy podstawy łączenia się z bazą danych SQL Server za pomocą biblioteki Python i „PiODBC”, w tym konfigurowanie instancji SQL Server i wykonywanie podstawowych operacji CRUD na tabeli.

Tworzenie tabeli na serwerze SQL

Zanim będziemy mogli połączyć się z serwerem SQL za pomocą Pythona, musimy utworzyć tabelę na serwerze SQL, z którym możemy pracować. Utwórzmy prostą tabelę o nazwie Shop, która zawiera dwie kolumny: id (liczba całkowita) i elementy (ciąg).

Utwórz sklep z tabelami (
Id int null,
Pozycje nchar (10) null
);
IŚĆ
Wstaw do sklepu (ID, przedmioty) wartości (1, „piłka nożna”)
Wstaw do sklepu (ID, pozycje) Wartości (2, „Gelpen”)
Wstaw do sklepu (ID, pozycje) wartości (3, „kopia”)
Wstaw do sklepu (ID, pozycje) wartości (4, „książka”)
Wstaw do sklepu (ID, przedmioty) wartości (5, „maska”)
IŚĆ
Wybierz * ze sklepu


Ten kod tworzy tabelę sklepu, wprowadza przykładowe dane i wybiera wszystkie wiersze z tabeli sklepów. Możemy wykonać ten kod w SSMS, aby utworzyć tabelę.

Wyjście:

Elementy identyfikacyjne
1 1 piłka nożna
2 2 Gelpen
3 3 Kopia
4 4 Książka
5 5 Maska

Korzystanie z Pythona do łączenia się z SQL Server

Po utworzeniu tabeli sklepów w SQL Server możemy połączyć się z nią za pomocą Pythona i modułu Pyodbc. Moduł Pyodbc to moduł Python, który pozwala nam połączyć się z serwerem SQL i wykonywać zapytania SQL.

Możemy zainstalować „Pyodbc”, uruchamiając następujące polecenie w wierszu polecenia lub terminale:

PIP Instaluj pyodbc


Po zainstalowaniu PyODBC możemy użyć następującego kodu Pythona do połączenia z serwerem SQL:

Import Pyodbc
conn = Pyodbc.connect ('driver = ODBC Driver 17 dla SQL Server; server = Desktop-0NHTHTAB; batabase = school; trusted_connection = tak; uid = nazwa użytkownika; pwd = hasło')


Ten kod tworzy połączenie z serwerem SQL za pomocą PyODBC.Funkcja Connect (). Nazwa bazy danych, nazwa serwera i informacje o uwierzytelnianiu są wymagane do połączenia z serwerem SQL.

Wykonanie podstawowych operacji CRUD za pomocą Pythona

1. Czytanie danych z serwera SQL

Po nawiązaniu połączenia z serwerem SQL możemy wykonać operacje CRUD (tworzenie, odczyt, aktualizacja, usuwanie) za pomocą Pythona i modułu Pyodbc.

Aby odczytać dane z tabeli sklepu, użyj następującego kodu Pythona:

Def Read (Conn):
Drukuj („czytaj”)
Cursor = Conn.kursor()
kursor.Wykonaj („Wybierz * z DBO.SKLEP")
do wiersza w kursorze:
print (f'row = row ')
wydrukować()

2. Tworzenie danych na serwerze SQL

Możemy również użyć Pythona do tworzenia danych w bazie danych SQL Server. W tym przykładzie używamy funkcji „Wstaw do”, aby dodać nowy wiersz do tabeli sklepu.

def Utwórz (conn):
drukuj („Utwórz”)
Cursor = Conn.kursor()
kursor.wykonać(
„Wstaw do DBO.Wartości sklepu (ID, przedmioty) (?,?); ',
(123, „Cat”)
)
Conn.popełniać()
Przeczytaj (Conn)

3. Aktualizacja danych na serwerze SQL

Możemy użyć Pythona do aktualizacji istniejących danych w bazie danych SQL Server. W tym przykładzie używamy instrukcji aktualizacji, aby zaktualizować kolumnę elementów dla wiersza z identyfikatorem równym 123.

Def Update (Conn):
druk („aktualizacja”)
Cursor = Conn.kursor()
kursor.wykonać(
„Zaktualizuj DBO.Kupuj elementy = ? gdzie id = ?'',
(„pies”, 123)
)
Conn.popełniać()
Przeczytaj (Conn)

4. Usuwanie danych z serwera SQL

Możemy również użyć Pythona do usuwania danych z bazy danych SQL Server. Oświadczenie „Usuń” jest wymagane do usunięcia wszystkich wierszy z tabeli sklepu, w którym identyfikator jest większy niż 5.

Def Delete (conn):
Drukuj („Usuń”)
Cursor = Conn.kursor()
kursor.wykonać(
„Usuń z DBO.Kupuj, gdzie id> 5; '
)
Conn.popełniać()
Przeczytaj (Conn)


Możemy wywołać poprzednie funkcje, aby wykonać pożądane operacje w bazie danych SQL Server. Oto pełny kod Pythona, który łączy się z bazą danych SQL Server, odczytuje dane z tabeli sklepu, tworzy nowe dane, aktualizuje istniejące dane, usuwa dane i zamyka połączenie z bazą danych.

Import Pyodbc
conn = Pyodbc.connect ('driver = ODBC Driver 17 dla SQL Server; server = Desktop-0NHTHTAB; batabase = school; trusted_connection = tak; uid = nazwa użytkownika; pwd = hasło')
Def Read (Conn):
Drukuj („czytaj”)
Cursor = Conn.kursor()
kursor.Wykonaj („Wybierz * z DBO.SKLEP")
do wiersza w kursorze:
print (f'row = row ')
wydrukować()
def Utwórz (conn):
drukuj („Utwórz”)
Cursor = Conn.kursor()
kursor.wykonać(
„Wstaw do DBO.Wartości sklepu (ID, przedmioty) (?,?); ',
(123, „Cat”)
)
Conn.popełniać()
Przeczytaj (Conn)
Def Update (Conn):
druk („aktualizacja”)
Cursor = Conn.kursor()
kursor.wykonać(
„Zaktualizuj DBO.Kupuj elementy = ? gdzie id = ?'',
(„pies”, 123)
)
Conn.popełniać()
Przeczytaj (Conn)
Def Delete (conn):
Drukuj („Usuń”)
Cursor = Conn.kursor()
kursor.wykonać(
„Usuń z DBO.Kupuj, gdzie id> 5; '
)
Conn.popełniać()
Przeczytaj (Conn)
Przeczytaj (Conn)
Utwórz (Conn)
Aktualizacja (Conn)
Delete (Conn)
Conn.zamknąć()


Wyjście:

Czytać
Row = (1, „piłka nożna”)
wiersz = (2, „gelpen”)
wiersz = (3, „kopia”)
Row = (4, „książka”)
wiersz = (5, „maska”)
tworzyć
Row = (1, „piłka nożna”)
wiersz = (2, „gelpen”)
wiersz = (3, „kopia”)
Row = (4, „książka”)
wiersz = (5, „maska”)
wiersz = (123, „cat”)
aktualizacja
Row = (1, „piłka nożna”)
wiersz = (2, „gelpen”)
wiersz = (3, „kopia”)
Row = (4, „książka”)
wiersz = (5, „maska”)
Row = (123, „pies”)
usuwać
Row = (1, „piłka nożna”)
wiersz = (2, „gelpen”)
wiersz = (3, „kopia”)
Row = (4, „książka”)
wiersz = (5, „maska”)

Wniosek

Język skryptów Python może być używany do łączenia się z bazą danych SQL Server. Korzystając z „Pyodbc”, możemy łatwo połączyć się i manipulować danymi w bazie danych SQL Server z Python. Omówiliśmy podstawy konfigurowania instancji SQL Server, tworzenia tabeli w SSMS i wykonywania operacji CRUD na stole za pomocą Pythona. Dzięki wiedzy uzyskanej z tego artykułu powinieneś mieć podstawę do zbudowania bardziej zaawansowanej aplikacji do zarządzania danymi za pomocą Python i SQL Server.