Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 12793 razy

Instalacja PyMySQL na Windowsie

W wierszu polecenia cmd należy wpisać:

pip install pymysql

W wyniku czego powinna zainstalować się biblioteka PuMySQL.

Collecting pyMysql
  Downloading PyMySQL-0.7.9-py3-none-any.whl (78kB)
    100% |################################| 81kB 276kB/s
Installing collected packages: pyMysql
Successfully installed pyMysql-0.7.9

Wykorzystanie powyższej biblioteki do nawiązania połączenia z bazą danych:

import pymysql as mysql # ładowanie biblioteki mysql.Connect(host='127.0.0.1', unix_socket='', user='root', passwd=password, db='mysql') # łączenie się z bazą danych cur = con.cursor() # tworzy obiekt, dzięki któremu będzie można wysyłać zapytania do bazy danych cur.execute("USE database_name") # wybranie istniejącej bazy danych cur.execute("SHOW TABLES") # zapytanie o tabele zawarte w wybranej wcześniej bazie danych for record in cur: print(record[0]) # wyświetlanie rekordów (w tym przypadku to są nazwy tabelek) cur.close()

Instalacja mysqlclient wraz z modułem MySQLdb na Linux-sie

Można oczywiście na Linux-sie zainstalować bibliotekę PyMySQL, ale ponieważ udało mi się zainstalować mysqlclient z modułem MySQLdb to poniżej pokazuję sposób instalacji, który u mnie zadziałał na Ubuntu 16.04 Lts. Najpierw musiałem zainstalować paczkę libmysqlclient-dev w następujący sposób:

sudo apt-get install libmysqlclient-dev

Przebieg instalacji:

Czytanie list pakietów... Gotowe
Budowanie drzewa zależności       
Odczyt informacji o stanie... Gotowe
Następujące pakiety zostały zainstalowane automatycznie i nie są już więcej wymagane:
  linux-headers-4.4.0-43 linux-headers-4.4.0-43-generic
  linux-image-4.4.0-43-generic linux-image-extra-4.4.0-43-generic
Aby je usunąć należy użyć "sudo apt autoremove".
The following additional packages will be installed:
  libmysqlclient20 zlib1g-dev
Zostaną zainstalowane następujące NOWE pakiety:
  libmysqlclient-dev libmysqlclient20 zlib1g-dev
0 aktualizowanych, 3 nowo instalowanych, 0 usuwanych i 4 nieaktualizowanych.
Konieczne pobranie 2136 kB archiwów.
Po tej operacji zostanie dodatkowo użyte 11,8 MB miejsca na dysku.
Kontynuować? [T/n] t
Pobieranie:1 http://pl.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libmysqlclient20 amd64 5.7.16-0ubuntu0.16.04.1 [809 kB]
Pobieranie:2 http://pl.archive.ubuntu.com/ubuntu xenial/main amd64 zlib1g-dev amd64 1:1.2.8.dfsg-2ubuntu4 [168 kB]
Pobieranie:3 http://pl.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libmysqlclient-dev amd64 5.7.16-0ubuntu0.16.04.1 [1159 kB]
Pobrano 2136 kB w 2s (959 kB/s)              
Wybieranie wcześniej niewybranego pakietu libmysqlclient20:amd64.
(Odczytywanie bazy danych ... 365779 plików i katalogów obecnie zainstalowanych.)
Przygotowywanie do rozpakowania pakietu .../libmysqlclient20_5.7.16-0ubuntu0.16.04.1_amd64.deb ...
Rozpakowywanie pakietu libmysqlclient20:amd64 (5.7.16-0ubuntu0.16.04.1) ...
Wybieranie wcześniej niewybranego pakietu zlib1g-dev:amd64.
Przygotowywanie do rozpakowania pakietu .../zlib1g-dev_1%3a1.2.8.dfsg-2ubuntu4_amd64.deb ...
Rozpakowywanie pakietu zlib1g-dev:amd64 (1:1.2.8.dfsg-2ubuntu4) ...
Wybieranie wcześniej niewybranego pakietu libmysqlclient-dev.
Przygotowywanie do rozpakowania pakietu .../libmysqlclient-dev_5.7.16-0ubuntu0.16.04.1_amd64.deb ...
Rozpakowywanie pakietu libmysqlclient-dev (5.7.16-0ubuntu0.16.04.1) ...
Przetwarzanie wyzwalaczy pakietu libc-bin (2.23-0ubuntu4)...
Przetwarzanie wyzwalaczy pakietu man-db (2.7.5-1)...
Konfigurowanie pakietu libmysqlclient20:amd64 (5.7.16-0ubuntu0.16.04.1) ...
Konfigurowanie pakietu zlib1g-dev:amd64 (1:1.2.8.dfsg-2ubuntu4) ...
Konfigurowanie pakietu libmysqlclient-dev (5.7.16-0ubuntu0.16.04.1) ...
Przetwarzanie wyzwalaczy pakietu libc-bin (2.23-0ubuntu4)...

Pozostało już tylko zainstalowanie modułu mysqlclient:

Collecting mysqlclient

Przebieg instalacji:

Collecting mysqlclient
  Using cached mysqlclient-1.3.9.tar.gz
Building wheels for collected packages: mysqlclient
  Running setup.py bdist_wheel for mysqlclient ... done
  Stored in directory: /home/me/.cache/pip/wheels/97/65/8b/64875621ce64dc57bb8bf6d40931392b1e54497d8e952ecc37
Successfully built mysqlclient
Installing collected packages: mysqlclient
Successfully installed mysqlclient-1.3.9

Przykładowy kod, który w zasadzie różni się tylko nazwą biblioteki ładowanej na początku

import MySQLdb as mysql # ładowanie biblioteki mysql.Connect(host='127.0.0.1', unix_socket='', user='root', passwd=password, db='mysql') # łączenie się z bazą danych cur = con.cursor() # tworzy obiekt, dzięki któremu będzie można wysyłać zapytania do bazy danych cur.execute("USE database_name") # wybranie istniejącej bazy danych cur.execute("SHOW TABLES") # zapytanie o tabele zawarte w wybranej wcześniej bazie danych for record in cur: print(record[0]) # wyświetlanie rekordów (w tym przypadku to są nazwy tabelek) cur.close()
Layout wykonany przez autora strony, wszelkie prawa zastrzeżone. Jakiekolwiek użycie części lub całości grafik znajdujących się na tej stronie bez pisemnej zgody jej autora surowo zabronione.