MySQL to jedna z najpopularniejszych relacyjnych baz danych. Umożliwia przechowywanie danych w tabelach i tworzenie relacji między tymi tabelami. Aby użyć MySQL, który działa jako serwer bazy danych, będziesz musiał napisać kod, aby się z nim połączyć.
Większość języków programowania, takich jak Python, obsługuje to. W rzeczywistości w Pythonie można zastosować kilka podejść, z których każde ma swoje zalety.
Przygotuj swoją konfigurację MySQL
Aby połączyć się z bazą danych, potrzebujesz następujących wartości:
- Host: lokalizacja serwera MySQL, host lokalny, jeśli używasz go na tym samym komputerze.
- Użytkownik: nazwa użytkownika MySQL.
- Hasło: hasło MySQL.
- Nazwa bazy danych: nazwa bazy danych, z którą chcesz się połączyć.
Przed połączeniem się z bazą danych MySQL utwórz nowy katalog:
mkdir python-mysql
Skonfiguruj wirtualne środowisko Pythona
Wirtualne środowisko Pythona umożliwia instalowanie pakietów i uruchamianie skryptów w odizolowanym środowisku. Kiedy ty stworzyć wirtualne środowisko
, możesz następnie zainstalować w nim wersje zależności Pythona i Pythona. W ten sposób izolujesz różne wersje i unikasz problemów ze zgodnością.Połącz się z MySQL za pomocą mysqlclient
The mysqlclient sterownik jest interfejsem do serwera bazy danych MySQL, który udostępnia interfejs API serwera bazy danych Python. Jest napisany w C.
Uruchom następujące polecenie w środowisku wirtualnym, aby zainstalować mysqlclient:
pypeć zainstalować mysqlclient
Jeśli korzystasz z komputera z systemem Linux, najpierw zainstaluj nagłówki i biblioteki programistyczne Python 3 i MySQL.
# Debian / Ubuntu
sudo apt-get zainstalować python3-dev domyślna-libmysqlclient-dev budować-niezbędny
# Czerwony Kapelusz / CentOS
sudo mniam zainstalować python3-devel mysql-devel
W systemie Windows możesz zainstalować mysqlclient za pomocą binarnego pliku koła. Pobierz plik mysqlclient zgodny z Twoją platformą z Nieoficjalna kolekcja Christopha Gohlke. Następnie możesz użyć pobranego pliku wheel z pipem, aby zainstalować mysqlclient w następujący sposób:
pypećzainstalowaćc:\\mysqlclient‑1.3.13‑cp36‑cp36m‑win_amd64.whl
Użyj następującego kodu połączenia, aby połączyć się z bazą danych MySQL po zakończeniu instalacji:
import Baza danych MySQL
połączenie = MySQLdb.connect(
host="Lokalny Gospodarz",
użytkownik="<mysql_user>",
hasło="<mysql_password>",
db="<nazwa_bazy danych>"
)kursor = połączenie.kursor()
kursor.wykonaj("WybierzBaza danych();")
db = kursor.pobierz()
jeśli db:
wydrukować("Ty'ponowne połączenie z bazą danych: ", db)
w przeciwnym razie:
wydrukować('Nie połączony.')
W tym programie masz:
- Zaimportowany mysqlclient.
- Utworzono obiekt połączenia za pomocą MySQLdb.connect().
- Przekazano szczegóły konfiguracji bazy danych do MySQLdb.connect().
- Utworzono obiekt kursora do interakcji z MySQL.
- Wykorzystano obiekt kursora do pobrania wersji podłączonej bazy danych MySQL.
Pamiętaj, aby zamienić dane bazy danych na własne.
Połącz się z MySQL za pomocą mysql-connector-python
mysql-connector-python to oficjalny sterownik połączenia obsługiwany przez Oracle. Jest również napisany w czystym Pythonie.
Zainstaluj go przez pip, aby zacząć z niego korzystać.
pypeć zainstalować mysql-connector-python
Połącz się z MySQL, używając poniższego kodu połączenia.
import mysql.connector
z mysql.connector importBłądpołączenie = mysql.connector.connect (host="Lokalny Gospodarz",
użytkownik="<mysql_user>",
hasło="<mysql_password>",
db="<nazwa_bazy danych>")
próbować:
jeślipołączenie.jest połączone():
kursor = połączenie.kursor()
kursor.wykonaj("WybierzBaza danych();")
db = kursor.pobierz()
wydrukować("Ty'ponownie połączony z bazą danych: ", db)
oprócz Błądjak mi:
wydrukować("Błądpodczas gdy łączenie z MySQL", e)
wreszcie:
jeślipołączenie.jest połączone():
kursor.blisko()
połączenie.blisko()
print("Połączenie MySQL jest Zamknięte")
Powyższy kod połączenia robi to samo, co kod połączenia mysqclient.
Po utworzeniu obiektu połączenia możesz utworzyć kursor, którego możesz następnie użyć do wykonywania zapytań w bazie danych.
Ten program do łączenia używa również próbuj złapać blok. Klasa Error, od mysql.connector, umożliwia przechwytywanie wyjątków zgłoszonych podczas łączenia się z bazą danych. Powinno to uprościć debugowanie i rozwiązywanie problemów.
Połącz się z MySQL za pomocą PyMySQL
The PyMySQL sterownik połączenia jest zamiennikiem MySQLdb. Aby z niego skorzystać, musisz mieć język Python 3.7 lub nowszy, a serwer MySQL powinien mieć wersję 5. 7 lub nowszy. Jeśli używasz MariaDB, powinna to być wersja 10.2 lub nowsza. Możesz znaleźć te wymagania na Strona Github PyMySQL.
Aby zainstalować PyMySQL, uruchom następujące polecenie.
pypeć zainstalować PyMySQL
Połącz się z MySQL za pomocą PyMySQL za pomocą tego kodu.
import pymysql
połączenie = pymysql.connect (host="Lokalny Gospodarz",
użytkownik="<mysql_user>",
hasło="<mysql_password>",
baza danych="<nazwa_bazy danych>")
próbować:
kursor = połączenie.kursor()
kursor.wykonaj("WybierzBaza danych();")
db = kursor.pobierz()
wydrukować("Ty'ponowne połączenie z bazą danych: ", db)
oprócz pymysql. Błąd jak mi:
wydrukować("Błądpodczas gdy łączenie z MySQL", e)
wreszcie:
kursor.blisko()
połączenie.blisko()
print("Połączenie MySQL jest Zamknięte")
Po nawiązaniu połączenia i utworzeniu obiektu kursora możesz rozpocząć tworzenie Zapytania SQL.
Połącz się z MySQL za pomocą aiomysql
The aiomysql sterownik połączenia jest jak asynchroniczna wersja PyMySQL. Zapewnia dostęp do bazy danych MySQL z frameworka asyncio.
Aby korzystać z aiomysql, potrzebujesz Pythona 3.7+ i PyMySQL zainstalowanego w Twoim środowisku programistycznym.
Uruchom następujące polecenie, aby zainstalować asyncio i aiomysql.
pypeć zainstalować asyncjo
pypeć zainstalować aiomysql
Dzięki aiomysql możesz połączyć Pythona z MySQL przy użyciu podstawowego obiektu połączenia i puli połączeń.
Oto przykład pokazujący, jak połączyć się z bazą danych MySQL za pomocą obiektu połączenia.
import asyncjo
import aiomysql
pętla = asyncio.get_event_loop()asynchronicznydefinitywniepython_mysql():
połączenie = czekaj aiomysql.connect (host="Lokalny Gospodarz",
użytkownik="<mysql_user>",
hasło="<mysql_password>",
baza danych="<nazwa_bazy danych>")bież = czekać na połączenie.kursor()
czekaj na cur.execute("WybierzBaza danych();")
db = czekać na cur.pobierz()
wydrukować("Ty'ponowne połączenie z bazą danych: ", db)
czekać na cur.zamknij()
połączenie.blisko()
pętla.run_until_complete(python_mysql())
W przeciwieństwie do obiektu połączenia z bazą danych pula połączeń umożliwia ponowne wykorzystanie połączeń z bazą danych. Robi to, utrzymując pulę otwartych połączeń i przypisując je na żądanie. Gdy klient żąda połączenia, jest mu przypisywane jedno z puli. Gdy klient zamknie połączenie, połączenie wraca do puli.
Podstawowy kod do połączenia przez basen jest taki jak poniżej:
import asyncjo
import aiomysql
pętla = asyncio.get_event_loop()
asynchronicznydefinitywniepython_mysql():
pool = czekaj aiomysql.create_pool (host="Lokalny Gospodarz",
użytkownik="<mysql_user>",
hasło="<mysql_password>",
baza danych="<nazwa_bazy danych>", loop=pętla, autocommit=False)asynchronicznyz pula.pozyskaj() jak połączenie:
kursor = czekać na połączenie.kursor()
czekaj na cur.execute("WybierzBaza danych();")
db = czekać na cur.pobierz()
wydrukować("Ty'ponowne połączenie z bazą danych: ", db)basen.blisko()
czekać na pool.wait_closed()
pętla.run_until_complete(python_mysql())
Ten program powinien wydrukować wersję MySQL, z którą się łączyłeś, kiedy go uruchamiasz.
Zarządzanie bazą danych PostgreSQL
W tym artykule pokazano kilka sposobów łączenia aplikacji Pythona z MySQL. Każda z tych metod umożliwia interakcję i wykonywanie zapytań w bazie danych.
Po połączeniu z bazą danych MySQL możesz wykonywać zapytania o dane i przeprowadzać transakcje w bazie danych. Możesz stworzyć aplikację Pythona, podłączyć ją do MySQL i rozpocząć przechowywanie danych.