Hvordan koble til SQL Server ved hjelp av Python

Hvordan koble til SQL Server ved hjelp av Python

Python er et brukt programmeringsspråk for dataanalyse og maskinlæringsapplikasjoner. Ved å koble Python med SQL -serveren ved å bruke "Pyodbc" -biblioteket, kan vi enkelt manipulere dataene i SQL Server -databasen fra Python.

I denne artikkelen vil vi dekke det grunnleggende om å koble til SQL Server -databasen ved hjelp av Python og “Pyodbc” -biblioteket, inkludert å sette opp en SQL Server -forekomst og utføre grunnleggende CRUD -operasjoner på en tabell.

Opprette en tabell i SQL Server

Før vi kan koble oss til SQL -serveren ved hjelp av Python, må vi lage en tabell i SQL -serveren som vi kan jobbe med. La oss lage en enkel tabell kalt butikk som inneholder to kolonner: ID (heltall) og elementer (streng).

Lag bordbutikk (
Id int null,
Varer nchar (10) null
);

Sett inn butikk (ID, varer) verdier (1, 'Fotball')
Sett inn butikk (ID, elementer) verdier (2, 'Gelpen')
Sett inn butikk (ID, elementer) verdier (3, 'kopi')
Sett inn butikk (id, elementer) verdier (4, 'bok')
Sett inn butikk (id, elementer) verdier (5, 'maske')

Velg * fra butikk


Denne koden oppretter butikkbordet, setter inn noen eksempeldata og velger alle radene fra butikkbordet. Vi kan utføre denne koden i SSMS for å lage en tabell.

Produksjon:

ID -varer
1 1 Fotball
2 2 gelpen
3 3 Kopi
4 4 Bok
5 5 Mask

Bruker Python for å koble til SQL Server

Når vi har opprettet butikkbordet i SQL Server, kan vi koble oss til den ved hjelp av Python og Pyodbc -modulen. PYODBC -modulen er en Python -modul som lar oss koble oss til SQL -serveren og utføre SQL -spørsmålene.

Vi kan installere “Pyodbc” ved å kjøre følgende kommando i ledeteksten eller terminalen:

Pip installer Pyodbc


Når vi har installert Pyodbc, kan vi bruke følgende Python -kode for å koble til SQL -serveren:

Importer Pyodbc
conn = pyodbc.Connect ('Driver = ODBC Driver 17 for SQL Server; Server = Desktop-0Nhntab; Database = skole; Trusted_Connection = ja; uid = brukernavn; pwd = passord')


Denne koden oppretter en tilkobling til SQL -serveren ved hjelp av Pyodbc.Connect () Funksjon. Databasenavn, servernavn og autentiseringsinformasjon er nødvendig for å koble til SQL -serveren.

Utføre grunnleggende CRUD -operasjoner ved hjelp av Python

1. Lese dataene fra SQL -serveren

Når vi først har opprettet en forbindelse til SQL -serveren, kan vi utføre CRUD (opprette, lese, oppdatere, slette) operasjoner ved hjelp av Python og Pyodbc -modulen.

For å lese dataene fra butikkbordet, bruk følgende Python -kode:

Def Read (Conn):
trykk ("Les")
Markør = Conn.markør ()
markør.Utfør ("Velg * fra DBO.BUTIKK")
for rad i markøren:
print (f'row = rad ')
skrive ut()

2. Opprette data i SQL -serveren

Vi kan også bruke Python til å opprette en data i SQL Server -databasen. I dette eksemplet bruker vi "Sett inn" -funksjonen for å legge til en ny rad i butikkbordet.

def create (conn):
trykk ("Opprett")
Markør = Conn.markør ()
markør.henrette(
'Sett inn DBO.Butikk (id, elementer) verdier (?,?); ',
(123, 'Cat')
)
Conn.begå()
Les (Conn)

3. Oppdatering av dataene i SQL -serveren

Vi kan bruke Python til å oppdatere eksisterende data i SQL Server -databasen. I dette eksemplet bruker vi oppdateringserklæringen for å oppdatere varekolonnen for en rad med en ID som er lik 123.

def update (conn):
print ("oppdatering")
Markør = Conn.markør ()
markør.henrette(
'Oppdater dbo.Handle set varer = ? hvor id = ?; ',
('hund', 123)
)
Conn.begå()
Les (Conn)

4. Slette dataene fra SQL -serveren

Vi kan også bruke Python for å slette dataene fra SQL Server -databasen. "Slett" -uttalelsen er pålagt å slette alle radene fra butikkbordet der IDen er større enn 5.

Def Delete (conn):
print ("slett")
Markør = Conn.markør ()
markør.henrette(
'Slett fra DBO.Handle hvor id> 5; '
)
Conn.begå()
Les (Conn)


Vi kan ringe de tidligere funksjonene for å utføre de ønskede operasjonene på SQL Server -databasen. Her er den komplette Python -koden som kobles til SQL Server -databasen, leser dataene fra butikktabellen, oppretter nye data, oppdaterer eksisterende data, sletter dataene og lukker tilkoblingen til databasen.

Importer Pyodbc
conn = pyodbc.Connect ('Driver = ODBC Driver 17 for SQL Server; Server = Desktop-0Nhntab; Database = skole; Trusted_Connection = ja; uid = brukernavn; pwd = passord')
Def Read (Conn):
trykk ("Les")
Markør = Conn.markør ()
markør.Utfør ("Velg * fra DBO.BUTIKK")
for rad i markøren:
print (f'row = rad ')
skrive ut()
def create (conn):
trykk ("Opprett")
Markør = Conn.markør ()
markør.henrette(
'Sett inn DBO.Butikk (id, elementer) verdier (?,?); ',
(123, 'Cat')
)
Conn.begå()
Les (Conn)
def update (conn):
print ("oppdatering")
Markør = Conn.markør ()
markør.henrette(
'Oppdater dbo.Handle set varer = ? hvor id = ?; ',
('hund', 123)
)
Conn.begå()
Les (Conn)
Def Delete (conn):
print ("slett")
Markør = Conn.markør ()
markør.henrette(
'Slett fra DBO.Handle hvor id> 5; '
)
Conn.begå()
Les (Conn)
Les (Conn)
opprette (conn)
oppdatering (conn)
slett (conn)
Conn.Lukk()


Produksjon:

lese
rad = (1, 'fotball')
rad = (2, 'gelpen')
rad = (3, 'kopi')
rad = (4, 'bok')
rad = (5, 'maske')
skape
rad = (1, 'fotball')
rad = (2, 'gelpen')
rad = (3, 'kopi')
rad = (4, 'bok')
rad = (5, 'maske')
rad = (123, 'katt')
Oppdater
rad = (1, 'fotball')
rad = (2, 'gelpen')
rad = (3, 'kopi')
rad = (4, 'bok')
rad = (5, 'maske')
rad = (123, 'hund')
slett
rad = (1, 'fotball')
rad = (2, 'gelpen')
rad = (3, 'kopi')
rad = (4, 'bok')
rad = (5, 'maske')

Konklusjon

Python -skriptspråk kan brukes til å koble til en SQL Server -database. Ved hjelp av "Pyodbc" kan vi enkelt koble oss til og manipulere dataene i en SQL Server -database fra Python. Vi dekket det grunnleggende om å sette opp en SQL Server -forekomst, lage en tabell i SSMS og utføre CRUD -operasjonene på bordet ved hjelp av Python. Med kunnskapen som er oppnådd fra denne artikkelen, bør du nå ha et grunnlag for å bygge et mer avansert datahåndteringsprogram ved hjelp av Python og SQL Server.