Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak połączyć się z MySQL za pomocą Pythona

Python zapewnia kilka sposobów łączenia się z bazą danych MySQL i przetwarzania danych. W tym artykule opisano trzy metody.

Bazy danych i użytkownicy MySQL muszą już istnieć, zanim będzie można użyć dowolnej z poniższych metod. Aby uzyskać informacje o tym, jak zarządzać bazami danych MySQL za pomocą cPanel, zapoznaj się z tym artykułem.

Łączenie z MySQL za pomocą Pythona

Zanim będziesz mógł uzyskać dostęp do baz danych MySQL za pomocą Pythona, musisz zainstalować jeden (lub więcej) z następujących pakietów w środowisku wirtualnym:

  • mysqlclient :Ten pakiet zawiera MySQLdb moduł. Jest napisany w C i jest jednym z najczęściej używanych pakietów Pythona dla MySQL.
  • mysql-connector-python :Ten pakiet zawiera mysql.connector moduł. Jest napisany w całości w Pythonie.
  • PyMySQL :Ten pakiet zawiera pymysql moduł. Jest napisany w całości w Pythonie.

Wszystkie trzy z tych pakietów korzystają z przenośnego interfejsu API bazy danych SQL w języku Python. Oznacza to, że jeśli przełączysz się z jednego modułu na inny, możesz ponownie wykorzystać prawie cały istniejący kod (poniższy przykładowy kod pokazuje, jak to zrobić).

Konfiguracja wirtualnego środowiska Pythona i instalacja pakietu MySQL

Aby skonfigurować środowisko wirtualne Python i zainstalować pakiet MySQL, wykonaj następujące kroki:

  1. Zaloguj się na swoje konto za pomocą SSH.
  2. Aby utworzyć środowisko wirtualne, wpisz następujące polecenia:
    cd ~
    virtualenv sqlenv
    
    • Wirtualne środowisko polecenie tworzy środowisko wirtualne o nazwie sqlenv , a kolejne polecenia w tej procedurze zakładają, że środowisko ma nazwę sqlenv . Możesz użyć dowolnej nazwy środowiska, ale upewnij się, że zastąpiłeś wszystkie wystąpienia sqlenv z własną nazwą środowiska.
    • Jeśli używasz alternatywnej wersji Pythona (na przykład ręcznie skonfigurowałeś nowszą wersję Pythona dla swojego konta zgodnie z opisem w tym artykule), możesz określić tę wersję dla środowiska wirtualnego. Na przykład, aby zainstalować skonfigurowaną przez użytkownika wersję Pythona 3.8 w środowisku wirtualnym, możesz użyć następującego polecenia:
      virtualenv -p /home/username/bin/python3.8 sqlenv
      
  3. Aby aktywować środowisko wirtualne, wpisz następujące polecenie:

    source sqlenv/bin/activate
    Wiersz polecenia zaczyna się teraz od (sqlenv) aby wskazać, że pracujesz w środowisku wirtualnym Pythona. Wszystkie poniższe polecenia w tej procedurze zakładają, że pracujesz w środowisku wirtualnym. Jeśli wylogujesz się z sesji SSH (lub dezaktywujesz środowisko wirtualne za pomocą dezaktywuj polecenie), upewnij się, że ponownie aktywowałeś środowisko wirtualne przed wykonaniem poniższych kroków i uruchomieniem przykładowego kodu.
  4. Aby zaktualizować pip w środowisku wirtualnym wpisz następujące polecenie:

    pip install -U pip
  5. Wpisz polecenie dla pakietu, który chcesz zainstalować:

    • Aby zainstalować mysqlclient wpisz następujące polecenie:
      pip install mysqlclient
    • Aby zainstalować mysql-connector-python pakiet, wpisz następujące polecenie:

      pip install mysql-connector-python
    • Aby zainstalować pymysql pakiet, wpisz następujące polecenie:

      pip install pymysql
Próbka kodu

Po zainstalowaniu pakietu MySQL w środowisku wirtualnym jesteś gotowy do pracy z rzeczywistymi bazami danych. Poniższy przykładowy kod Pythona pokazuje, jak to zrobić, a także pokazuje, jak łatwo przełączać się między różnymi implementacjami pakietów SQL. Przykładowy kod działa z Pythonem 2.7 i Pythonem 3.x.

We własnym kodzie zastąp nazwę użytkownika z nazwą użytkownika bazy danych MySQL, hasło z hasłem użytkownika bazy danych i dbname z nazwą bazy danych:

#!/usr/bin/python

from __future__ import print_function

hostname = 'localhost'
username = 'username'
password = 'password'
database = 'dbname'

# Simple routine to run a query on a database and print the results:
def doQuery( conn ) :
    cur = conn.cursor()

    cur.execute( "SELECT fname, lname FROM employee" )

    for firstname, lastname in cur.fetchall() :
        print( firstname, lastname )


print( "Using mysqlclient (MySQLdb):" )
import MySQLdb
myConnection = MySQLdb.connect( host=hostname, user=username, passwd=password, db=database )
doQuery( myConnection )
myConnection.close()

print( "Using mysql.connector:" )
import mysql.connector
myConnection = mysql.connector.connect( host=hostname, user=username, passwd=password, db=database )
doQuery( myConnection )
myConnection.close()

print( "Using pymysql:" )
import pymysql
myConnection = pymysql.connect( host=hostname, user=username, passwd=password, db=database )
doQuery( myConnection )
myConnection.close()

Ten przykład tworzy serię Połączenia obiekty, które otwierają tę samą bazę danych przy użyciu różnych modułów MySQL. Ponieważ wszystkie trzy moduły MySQL korzystają z interfejsu API przenośnej bazy danych SQL, mogą używać kodu w doQuery() działać bez żadnych modyfikacji.

Gdy masz połączenie obiekt powiązany z bazą danych, możesz utworzyć Kursor obiekt. Kursor obiekt umożliwia uruchomienie execute() metody, która z kolei umożliwia uruchamianie surowych instrukcji SQL (w tym przypadku SELECT zapytanie dotyczące tabeli o nazwie pracownik ).

Jak widać, przenośne API bazy danych SQL w Pythonie sprawia, że ​​przełączanie się między modułami MySQL w kodzie jest bardzo łatwe. W powyższym przykładzie jedyne zmiany w kodzie konieczne do użycia innego modułu dotyczą importu i połączyć się sprawozdania.

Więcej informacji

  • Aby uzyskać więcej informacji na temat przenośnego interfejsu API bazy danych SQL w Pythonie, odwiedź stronę https://www.python.org/dev/peps/pep-0249.
  • Więcej informacji o mysqlclient pakiet, odwiedź https://pypi.org/project/mysqlclient.
  • Więcej informacji o mysql-connector-python pakiet, odwiedź https://pypi.python.org/pypi/mysql-connector-python.
  • Więcej informacji o PyMySQL pakiet, odwiedź https://pypi.python.org/pypi/PyMySQL.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przekonwertować strefę czasową w MySQL

  2. oblicz sumę czasu na wpisywanie za pomocą sql

  3. Jak zapętlić zapytanie MySQL przez PDO w PHP?

  4. MAKETIME() Przykłady – MySQL

  5. Jak połączyć się z MySQL z wiersza poleceń