jesteś tutaj
289
Używanie bazy danych
Potwierdź, że Twoja tabela jest gotowa
na przyjęcie danych
Wraz z utworzeniem tabeli zakończyliśmy zadanie nr 3.
Przekonajmy się za pomocą konsoli, że tabela rzeczywiście powstała i że ma strukturę,
którą zdefiniowaliśmy. Będąc nadal zalogowanym w konsoli MySQL jako użytkownik
vsearch
, wydaj po jej znaku zachęty polecenie
describe log
.
Zainstaluj serwer bazy
danych MySQL.
Zainstaluj sterownik
bazy danych MySQL
dla języka Python.
Utwórz bazę danych
i tabele dla naszej
aplikacji WWW.
Utwórz kod, za pomocą
którego nasza aplikacja
WWW będzie korzystała
z bazy danych i tabel.
I oto mamy dowód, że tabela
log
istnieje i ma strukturę, która odpowiada wymaganiom naszej
aplikacji WWW związanym z logowaniem. Wprowadź polecenie
quit
, aby opuścić konsolę
(ponieważ na razie nie będziemy z niej korzystać).
A więc teraz mogę już zacząć
dodawać dane do tej tabeli, zgadza
się? Mój kumpel, który jest ekspertem od
SQL-a, mówi, że mogę w tym celu użyć kilku
„ręcznych” instrukcji INSERT.
Tak, to jedna z dostępnych możliwości.
Nic nie stoi na przeszkodzie, abyś ręcznie wpisał kilka instrukcji
INSERT
języka SQL w konsoli i dodał w ten sposób dane do
swojej nowo utworzonej tabeli. Pamiętaj jednak, że chcemy,
aby to nasza aplikacja WWW
automatycznie
dodawała dane
dotyczące żądań sieciowych do tabeli
log
i ma to zastosowanie
również w przypadku instrukcji
INSERT
.
Aby to osiągnąć, musimy napisać trochę kodu Pythona, który
będzie komunikował się z tabelą
log
. Natomiast żeby to zrobić,
musimy lepiej poznać DB-API zapewniane przez język Python.
mysql> describe log;
+----------------+--------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+--------------+------+-----+-------------------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| ts | timestamp | NO | | CURRENT_TIMESTAMP | |
| phrase | varchar(128) | NO | | NULL | |
| letters | varchar(32) | NO | | NULL | |
| ip | varchar(16) | NO | | NULL | |
| browser_string | varchar(256) | NO | | NULL | |
| results | varchar(64) | NO | | NULL | |
+----------------+--------------+------+-----+-------------------+----------------+
290
Rozdział 7.
DB-API Pythona
DB-API
Pythona
sterownik MySQL-
Connector/Python
MySQL
Twój kod
>>> dbconfig = { ‘host’: ‘127.0.0.1’,
‘user’: ‘vsearch’,
‘password’: ‘vsearchpasswd’,
‘database’: ‘vsearchlogDB’, }
1. Nasz serwer działa na komputerze
lokalnym, dlatego w przypadku klucza
‘host’ korzystamy z IP localhosta.
2. Identyfikator użytkownika
vsearch przedstawiony wcześniej
w tym rozdziale został przypisany
do klucza ‘user’.
3. Kluczowi
‘password’ jest
przypisane
prawidłowe hasło,
które ma być
stosowane dla
tego identyfikatora
użytkownika.
4. Nazwa bazy danych w tym przypadku
„vsearchlogDB” jest przypisana do klucza
‘database’.
DB-API z bliska (1. z 3)
Przypomnij sobie schemat przedstawiony we wcześniejszej części tego rozdziału, na którym pokazano
miejsce zajmowane przez DB-API Pythona w odniesieniu do Twojego kodu, wybranego przez Ciebie
sterownika bazy danych oraz działającego w tle systemu bazy danych.
Zastosowanie DB-API ma Ci umożliwić wymianę używanej kombinacji sterownika i bazy danych
przy bardzo niewielkich zmianach w Twoim kodzie Pythona, jeśli tylko ograniczysz się do korzystania
wyłącznie z możliwości zapewnianych przez to API.
Dokonajmy przeglądu tego, z czym wiąże się programowanie w zgodzie z tym ważnym standardem
Pythona. Zamierzamy tu przedstawić sześć kroków.
DB-API krok 1. Zdefiniuj właściwości swojego połączenia
Łącząc się z bazą danych MySQL, potrzebujesz czterech informacji: (1) adresu IP lub nazwy komputera, na którym
działa serwer MySQL (znanego także jako
host), (2) identyfikatora użytkownika, który ma być wykorzystywany,
(3) hasła związanego z tym identyfikatorem użytkownika oraz (4) nazwy bazy danych, z którą użytkownik
o wskazanym identyfikatorze chce współpracować.
Sterownik
MySQL-Connector/Python umożliwia umieszczenie tych właściwości połączenia w słowniku Pythona,
dzięki czemu łatwo jest ich używać i odwoływać się do nich. Zróbmy to teraz, wprowadzając kod w wierszu poleceń
powłoki Pythona. Wykonuj na swoim komputerze te same operacje co my. Poniżej przedstawiona została definicja
słownika (o nazwie
dbconfig
), który łączy cztery wymagane „klucze połączenia” z odpowiadającymi im wartościami.

Get Python Rusz głową! Wydanie II now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.