Funksjonssyntaks
Funksjonen har en syntaks som vist:
Dataramme.to_sql (navn, con, skjema = ingen, if_exists = 'fail', index = true, index_label = none, chunksize = ingen, dtype = ingen, metode = ingen)Funksjonsparametere
La oss diskutere funksjonsparametrene og hva hver enkelt innebærer:
Lær mer om SQL Insert -metodene.
Funksjonsretur
Funksjonen returnerer antall rader som er berørt av SQL -operasjonen.
Eksempel:
I dette eksemplet vil vi sette inn følgende DataFrame i en MySQL -database.
https: // www.Dropbox.com/s/kql82sncnu7j3c1/filmer.CSV?dl = 0
Trinn 1: Begynn med å importere de nødvendige bibliotekene og last inn DataFrame.
Importer pandaer som PDNår DataFrame er lastet, fortsett til neste trinn.
Trinn 2: Neste trinn er å lage et databaseskjema. Åpne terminalen din og koble til MySQL -forekomsten.
$ mysql -u root -pNår du er logget inn, oppretter du et databaseskjema som vist:
mysql> Opprett database pandas_sample;Koden over skal opprette en database som heter 'Pandas_sample.'. Endre dette for ønsket operasjon.
Trinn 3: La oss deretter gå tilbake til Python -koden vår og koble til databasen. Vi kan starte med å importere Sqlalchemy og lage forbindelsen til motoren.
fra sqlalchemy import create_engineI eksemplet over starter vi med å importere Create_Engine -modulen fra SQLalchemy Library.
Vi oppretter deretter en tilkobling til MySQL -motoren ved å bruke syntaks som er vist nedenfor:
create_engine ("mysql+pymysql: // bruker: pass@vert: port/dbnameMerk: Hvis du ikke har Pymysql -biblioteket installert, vil koden over returner en feil.
Du kan løse dette ved å installere biblioteket som vist:
PIP3 installer PymSqlTrinn 4: Når vi har alt i gang, kan vi lagre den lastede DataFrame i databasen ved å bruke TO_SQL () -funksjonen som vist:
df.to_sql ('filmer', con = motor)Ovennevnte kode skal opprette en ny tabell som heter 'Filmer' og sette inn DataFrame -verdiene.
For å se alle postene i databasen, kan vi kjøre:
mysql> bruk pandas_sample;Dette skal returnere postene fra DataFrame som vist:
Du kan også bruke Python for å få postene fra databasen som vist:
motor.Utfør ('Velg * fra filmer').Fetchall ()De resulterende verdiene er som vist:
Konklusjon
Denne artikkelen undersøker hvordan du bruker Pandas to_sql () -funksjonen for å lagre en DataFrame i en MySQL -database.