Jak możemy uruchomić zapytanie mysql w Python

Jak możemy uruchomić zapytanie mysql w Python
W tym artykule pokaże, w jaki sposób możemy zrobić zapytanie mysql w Python. Aby uruchomić zapytanie w MySQL, najpierw musimy utworzyć obiekt kursora, taki jak struktura dokumentu, który przemierza bazę danych.Zacznijmy więc rozumieć wszystkie pojęcia o zapytaniu MYSQL w Pythonie.

Przed rozpoczęciem musimy zainstalować złącze MySQL w naszym lokalnym środowisku systemowym.

Istnieją dwie metody instalacji:

Method_1:

Możemy bezpośrednio pobrać i zainstalować złącze MySQL z ich oficjalnej strony internetowej zgodnie z naszą kompatybilnością i wersją systemu operacyjnego.

Method_2:

Łatwym sposobem jest użycie metody PIP.

PIP Instaluj MySQL-Connector-Python

Jeśli używamy jakiejkolwiek konkretnej wersji, musimy przypisać nazwę wersji, jak podano poniżej:

instaluj mysql-connector-python ==

Tworzenie połączenia:

Teraz, w pierwszym kroku po udanej instalacji MySQL do naszego systemu lokalnego, staramy się utworzyć połączenie. Jeśli połączenie zakończy się powodzeniem, możemy przejść do następnego kroku.

#Python Eastablish_Connection.py
#Wportu na bibliotekę
Importuj mysql.złącze
# Tworzenie połączenia
conn = mysql.złącze.łączyć(
host = "localhost",
user = "Sammy",
hasło = "hasło"
)
# Wydrukuj Conn
Drukuj (Conn)

Wyjście:

Linia 4:

Importujemy klasę złącza z MySQL.

Linia od 7 do 11:

Uzyskamy dostęp do metody Connect za pośrednictwem klasy złącza, którą już importujemy do naszego programu. Teraz przekazujemy nasze parametry połączenia do metody Connect. Nazwa użytkownika i hasło będą różne w zależności od procesu instalacji.

Linia 13:

W końcu po prostu drukujemy połączenie i pokazuje to w połączeniu wyjściowym wykonanym z MySQL i zwraca obiekt z jego adresem pamięci.

Utwórz bazę danych:

Teraz tworzymy bazę danych z pomocą Pythona.

#Python Create_A_Database.py
#Wportu na bibliotekę
Importuj mysql.złącze
# Tworzenie połączenia
conn = mysql.złącze.łączyć(
host = "localhost",
user = "Sammy",
hasło = "hasło"
)
#Print połączenie
Drukuj (Conn)
# Zaimportuj kursor z połączenia (Conn)
MyCursor = Conn.kursor()
#PRORT THE MYCURSOR
Drukuj (mykursor)
mykursor.Wykonaj („Utwórz bazę danych DBTest”)

Wyjście:


CmysqlCursor: (nic jeszcze nie wykonano)

Linia 16:

Importujemy metodę kursora z obiektu ustalonego połączenia (Conn).

Linia 18:

Teraz po prostu drukujemy ten mykursor, który stworzyliśmy w linii 16, a wyjście pokazuje, że cmysqlcursor: (nic jeszcze nie wykonano).

Linia 20:

Wykonujemy zapytanie, aby utworzyć bazę danych, ale nic nie zwraca. Więc jeśli wydrukujemy (mykursor.Wykonaj („Utwórz bazę danych DBTest”), otrzymamy brak jako typ zwrotu.

Jeśli sprawdzimy naszą bazę danych MySQL, zobaczymy, że nasza nowa baza danych (DBTEST) jest utworzona pomyślnie.

➜ ~ mysql -u sammy -p
Wprowadź hasło:
Witamy w MySQL Monitor. Polecenia kończą się; lub \ g.
Twój identyfikator połączenia MySQL to 17
Wersja serwera: 8.0.26-0ubuntu0.20.04.2 (Ubuntu)
Prawa autorskie (c) 2000, 2021, Oracle i/lub jej podmioty stowarzyszone.
Oracle to zarejestrowany znak towarowy Oracle Corporation i/lub ITS
Podmioty stowarzyszone. Inne nazwy mogą być znakami towarowymi ich odpowiednich
właściciele.
Typ „Pomoc”; lub „\ h”, aby uzyskać pomoc. Typ „\ c”, aby wyczyścić bieżącą instrukcję wejściową.
mysql> pokaż bazy danych;
+--------------------+
|. Baza danych |
+--------------------+
|. DBTest |
|. Information_Schema |
|. Mysql |
|. wydajność_schema |
|. Sys |
+--------------------+
5 wierszy w zestawie (0.00 s)
mysql>

Połączenie z bazą danych:

Teraz staramy się połączyć się z naszą nowo utworzoną bazą danych (DBTest) z Pythonem. Kod tego jest podany poniżej:

#Python conn_to_database.py
#Wportu na bibliotekę
Importuj mysql.złącze
# Tworzenie połączenia z bazą danych
conn = mysql.złącze.łączyć(
host = "localhost",
user = "Sammy",
hasło = "hasło",
baza danych = "DBTest"
)
# Wydrukuj Conn
Drukuj (Conn)

Linia 11:

Dodaliśmy jeszcze jedną nazwę parametrów do bazy danych. Teraz nasz kod Pythona będzie próbował połączyć się z tą bazą danych MySQL (DBTest).

Utwórz tabelę:

  1. Utwórzmy nową tabelę (film) w nowo utworzonej bazie danych (DBTest).
  2. Trzy kolumny, których zamierzamy użyć, to identyfikator, nazwa i rok. Identyfikator i rok będzie typ (całkowitą), a nazwa będzie typem varchar. Zdefiniujemy również kolumnę (id) jako klucz podstawowy.
  3. Nazwa kolumny będzie przechowywać maksymalną liczbę znaków 30, ponieważ definiujemy Varchar (30).
#Python create_table.py
#Wportu na bibliotekę
Importuj mysql.złącze
# Tworzenie połączenia z bazą danych
conn = mysql.złącze.łączyć(
host = "localhost",
user = "Sammy",
hasło = "hasło",
baza danych = "DBTest"
)
# tworzymy obiekt MyCursor za pomocą Conn.kursor()
MyCursor = Conn.kursor()
mykursor.Wykonaj („Drop Table, jeśli istnieje film”)
# piszemy zapytanie, aby utworzyć tabelę
query = "Utwórz film tabeli (ID int podstawowy klucz, nazwa varchar (30), rok int)"
# Wykonujemy zapytanie tutaj
mykursor.Wykonaj (zapytanie)
# Po zakończeniu procesu zamykamy połączenie
Conn.zamknąć()

Linia 14:

Tworzymy obiekt kursora.

Linia 15:

Prowadzimy również zapytanie tutaj z metodą wykonania, że ​​jeśli nazwa tabeli (film) już istnieje w bazie danych MySQL, usunie tę tabelę. W przeciwnym razie otrzymamy błąd, który już istnieje.

Linia 18–21:

Tworzymy zapytanie, aby utworzyć tabelę i wykonać to zapytanie w wierszu nr 21 z funkcją wykonania.

Linia 24:

W końcu zamykamy nasze połączenie.

Poniżej znajduje się wyjście MySQL, w którym potwierdzamy, że nasza tabela jest pomyślnie tworzona w bazie danych MySQL.

mysql> pokaż bazy danych;
+--------------------+
|. Baza danych |
+--------------------+
|. DBTest |
|. Information_Schema |
|. Mysql |
|. wydajność_schema |
|. Sys |
+--------------------+
5 wierszy w zestawie (0.00 s)
mysql> Użyj DBTest;
Informacje o odczytaniu tabeli w celu zakończenia nazwy tabeli i kolumn
Możesz wyłączyć tę funkcję, aby uzyskać szybszy startup z -a
Baza danych zmieniła się
Mysql> Pokaż tabele;
+------------------+
|. TABLE_IN_DBTEST |
+------------------+
|. Film |
+------------------+
1 wiersz w zestawie (0.00 s)
mysql> Wybierz * z filmu;
Pusty zestaw (0.00 s)
mysql> Wybierz * z filmu;
Błąd 1146 (42S02): Tabela „DBTest.film „nie istnieje
MYSQL> DESC FILM;
+-------+-------------+------+-----+---------+-------+
|. Pole | Typ | NULL | Klucz | Domyślnie | Dodatkowe |
+-------+-------------+------+-----+---------+-------+
|. Id | int | Nie |. Pri | NULL | |
|. Nazwa | varchar (30) | Tak | |. NULL | |
|. Rok | int | Tak | |. NULL | |
+-------+-------------+------+-----+---------+-------+
3 wiersze w zestawie (0.00 s)
mysql>

Dodaj rekord do tabeli:

Teraz zamierzamy wstawić jeden rekord do tabeli. Kod Pythona dla tego podano poniżej.

#Python Record_Inserition.py
#Wportu na bibliotekę
Importuj mysql.złącze
# Tworzenie połączenia z bazą danych
conn = mysql.złącze.łączyć(
host = "localhost",
user = "Sammy",
hasło = "hasło",
baza danych = "DBTest"
)
MyCursor = Conn.kursor()
# Wykonaj zapytanie z ich wartością rekordu
query = 'wstaw do filmu (id, nazwa, rok) \
Wartości (1, „Bruce Wszechmogący”, 2003) ''
mykursor.Wykonaj (zapytanie)
# Zobowiązujemy (zapisujemy) rekordy do tabeli
Conn.popełniać()

Linia 17:

Tworzymy zapytanie, aby wstawić płytę do filmu stołowego.

Linia 19:

Wykonujemy to zapytanie.

Linia 22:

W końcu popełniamy rekord.

Wyjście:

Poniższe dane wyjściowe pokazuje, że z powodzeniem nagraliśmy wkładkę do filmu stołu.

mysql> Wybierz * z filmu;
+----+----------------+------+
|. Id | Nazwa | Rok |
+----+----------------+------+
|. 1 | Bruce Wszechmogący | 2003 |
+----+----------------+------+
1 wiersz w zestawie (0.00 s)
mysql>

Wstawienie wielu rekordów:

Możemy również dodać wiele rekordów jednocześnie do tabeli. Tak więc w tym programie zobaczymy tę metodę. Aby wprowadzić wiele rekordów, musimy użyć metody ExecuTemany () zamiast metody execute ().

#Python insert_record_multiple.py
#Wportu na bibliotekę
Importuj mysql.złącze
# Tworzenie połączenia z bazą danych
conn = mysql.złącze.łączyć(
host = "localhost",
user = "Sammy",
hasło = "hasło",
baza danych = "DBTest"
)
MyCursor = Conn.kursor()
# Wykonaj zapytanie z ich wartością rekordu
zapytanie = „Wstaw do filmu (id, nazwa, rok) ( %s, %s, %s)”
val = [(2, „Kung Fu Panda”, 2014),
(4, „Frozen”, 2014),
(5, „Frozen2”, 2020),
(6, „Iron Man”, 2013)
]
mykursor.ExecuTemany (zapytanie, val)
# Zobowiązujemy (zapisujemy) rekordy do tabeli
Conn.popełniać()
Drukuj (Mycursor.RowCount, „Wstaw rekordy.")

Linia 17:

Tworzymy nasze zapytanie do danych wstawienia.

Linia 18:

Tworzymy listę wartości, które chcemy wstawić do tabeli.

Linia 25:

Używamy metody ExecuTemany () do wprowadzenia wielu rekordów.

Wyjście:

mysql> Wybierz * z filmu;
+----+----------------+------+
|. Id | Nazwa | Rok |
+----+----------------+------+
|. 1 | Bruce Wszechmogący | 2003 |
|. 2 | Kung Fu Panda | 2014 |
|. 3 | Kung Fu Panda | 2014 |
|. 4 | Frozen | 2014 |
|. 5 | Frozen2 | 2020 |
|. 6 | Iron Man | 2013 |
+----+----------------+------+
6 wierszy w zestawie (0.00 s)

Wybierz zapis z tabeli:

W tym programie dodamy kolejne zapytanie, aby pobrać rekordy z tabeli.

#Python Select_Query.py
#Wportu na bibliotekę
Importuj mysql.złącze
# Tworzenie połączenia z bazą danych
conn = mysql.złącze.łączyć(
host = "localhost",
user = "Sammy",
hasło = "hasło",
baza danych = "DBTest"
)
MyCursor = Conn.kursor()
# Wykonaj zapytanie i pobieraj wszystkie rekordy
zapytanie = 'wybierz * z filmu' '
mykursor.Wykonaj (zapytanie)
wynik = mykursor.fetchall ()
# Drukujemy nasz wynik
Drukuj (wynik)
# Teraz wykonujemy iterację na każdym rekordzie i druku
Dla rekordów w wyniku:
Drukuj (rekord)

Linia 17–19:

Tworzymy zapytanie wyboru i wykonujemy to zapytanie. Metoda fetchall () służy do pobierania wszystkich rekordów z tej konkretnej tabeli.

Linia 22:

Drukujemy wynik i stwierdzamy, że wszystkie rekordy są krotne i wewnątrz listy. Poniższe wyjście pokazuje listę.

Linia 25 do 26:

Iternujemy listę i drukujemy każdy rekord krotek.

Wyjście:

[(1, „Bruce AlMighty”, 2003), (2, „Kung Fu Panda”, 2014), (3, „Kung Fu Panda”, 2014), (4, „Frozen”, 2014), (5, ' Frozen2 ', 2020), (6, „Iron Man”, 2013)]
(1, „Bruce Almighty”, 2003)
(2, „Kung Fu Panda”, 2014)
(3, „Kung Fu Panda”, 2014)
(4, „Frozen”, 2014)
(5, „Frozen2”, 2020)
(6, „Iron Man”, 2013)

Wniosek:

W tym artykule widzieliśmy, jak utworzyć połączenie z MySQL za pomocą Pythona. Zbadaliśmy również różne metody wstawiania danych, takie jak wkładki pojedyncze lub wiele danych. Widzieliśmy również, jak możemy wykonać zapytanie przez Python. Musimy utworzyć zapytanie, a następnie przekazać to zapytanie do metody wykonania () dla wykonania i przechowywania wyników na jakąś zmienną.

Kod tego artykułu jest dostępny pod linkiem GitHub:

https: // github.com/shekharpandey89/mysql-Query-Connection