Metoda PandaS TO_SQL

Metoda PandaS TO_SQL
Zrozumiemy, jak korzystać z funkcji pandas to_sql () w całym samouczku. Ta funkcja pozwala nam zapisać rekordy pandy w bazie danych SQL.

Składnia funkcji

Funkcja ma składnię, jak pokazano:

Ramka danych.to_sql (name, con, schema = brak, if_exists = 'fail', index = true, index_label = none, chUnkSize = brak, dtype = brak, metoda = brak)

Parametry funkcji

Omówmy parametry funkcji i to, co każdy z nich pociąga za sobą:

  1. Nazwa - odnosi się do tabeli SQL, w której dane są zapisywane.
  2. Con - odnosi się do połączenia z silnikiem bazy danych. Silnik Sqlalchemy zarządza połączeniem z bazą danych. Stąd możesz użyć dowolnej bazy danych obsługiwanej przez bibliotekę.
  3. schemat - określa schemat docelowy, pod którym można zapisać dane.
  4. IF_Exists - Ustawia działania, jeśli określona tabela już istnieje w schemacie docelowym. Zaakceptowane opcje obejmują:
    • -Fail - podnosi błąd.
    • Wymień - upuszcza tabelę i dodaje nową tabelę.
    • DODATKOWANIE - Wstaw nowe dane do istniejących.
  5. Indeks - umożliwia zapisanie indeksu ramki danych jako kolumny. Jeśli indeks ma nazwę, funkcja użyje go jako nazwy kolumny w bazie danych.
  6. index_label - jeśli indeks_kolumn nie ma nazwy, możesz określić jeden za pomocą tego parametru.
  7. Chunksize - Określa, ile wierszy można napisać jednocześnie. Jeśli nie zostanie określona, ​​funkcja zapisuje wszystkie wiersze jednocześnie.
  8. Dtype - Określa typ danych dla kolumn.
  9. Metoda - Ten parametr definiuje metodę SQL stosowaną do wstawienia danych. Zaakceptowane wartości obejmują:
    • Brak - używa standardowej wkładki SQL.
    • Multi - - umożliwia przekazanie wielu wartości do jednego instrukcji.

Dowiedz się więcej o metodach wstawienia SQL.

Funkcja zwraca wartość

Funkcja zwraca liczbę wierszy dotkniętych działaniem SQL.

Przykład:

W tym przykładzie wstawymy następującą ramkę danych do bazy danych MySQL.

https: // www.Dropbox.com/s/kql82sncnu7j3c1/filmy.CSV?dl = 0

Krok 1: Zacznij od zaimportowania wymaganych bibliotek i załadowania DataFrame.

importować pandy jako PD
df = pd.read_csv (filmy.csv ', index_col = [0])

Po załadowaniu danych danych przejdź do następnego kroku.

Krok 2: Następnym krokiem jest utworzenie schematu bazy danych. Otwórz swój terminal i połącz się z instancją MySQL.

$ mysql -u root -p

Po zalogowaniu utwórz schemat bazy danych, jak pokazano:

mysql> Utwórz bazę danych pandas_sample;

Powyższy kod powinien utworzyć bazę danych o nazwie „pandas_sample.'. Zmień to na żądaną operację.

Krok 3: Następnie wróćmy do naszego kodu Pythona i połączmy się z bazą danych. Możemy zacząć od importu Sqlalchemy i utworzenia połączenia z silnikiem.

z sqlalchemy import create_engine
Engine = create_engine ("mysql+Pymysql: // root: [email protected]: 3306/pandas_sample?Charset = UTF8MB4 ")

W powyższym przykładzie zaczynamy od zaimportowania modułu Create_Engine z biblioteki SQLALCHEMY.

Następnie tworzymy połączenie z silnikiem MySQL za pomocą składni pokazanej poniżej:

create_engine ("MySQL+PYMYSQL: // User: Pass@host: port/dbname

Uwaga: Jeśli nie masz zainstalowanej biblioteki PYMYSQL, powyższy kod zwróci błąd.

Możesz to rozwiązać, instalując bibliotekę, jak pokazano:

PIP3 Zainstaluj PYMSQL

Krok 4: Po uruchomieniu wszystkiego możemy zapisać załadowaną ramkę danych do bazy danych za pomocą funkcji To_SQL (), jak pokazano:

df.to_sql („filmy”, con = silnik)

Powyższy kod powinien utworzyć nową tabelę o nazwie „Filmy” i wstawić wartości DataFrame.

Aby wyświetlić wszystkie rekordy w bazie danych, możemy uruchomić:

mysql> Użyj pandas_sample;
mysql> Wybierz * z filmów;

Powinno to zwrócić rekordy z DataFrame, jak pokazano:

Możesz także użyć Pythona, aby uzyskać rekordy z bazy danych, jak pokazano:

silnik.Wykonaj („Wybierz * z filmów”).fetchall ()

Powstałe wartości są jak pokazane:

Wniosek

W tym artykule bada, jak korzystać z funkcji panda to_sql (), aby zapisać ramkę danych w bazie danych mysql.