Część 4. MySQL – wprowadzenie do prawdziwych baz danych

 

Oprogramowanie DBMS MySQL można ściągnąć z adresu http://www.mysql.com/downloads/mysql.html.

1.      Co to jest MySQL? Cechy MySQL

MySQL to kolejny SZBD, czyli DBMS. MySQL jest najpopularniejszym na świecie oprogramowaniem tego typu, wyłączywszy może Access, jednak trudno je w ogóle porównywać. Interfejs Accessa do tworzenia bazy danych został w skrócie przedstawiony na poprzednich zajęciach (jeszcze do niego wrócimy). Naturalny interfejs MySQL wygląda tak, jak na rysunku obok. Do obsługiwania MySQL niezbędna jest znajomość języka programowania baz danych SQL. Do obsługi Access jest ona co najwyżej przydatna (będziemy ją wykorzystywać później).

MySQL jest darmowy dla użytkowników niekomercyjnych, ale

niestety, dla użytkowników firmowych jest dość drogi i w dodatku, w związku z polskim prawodawstwem, powoduje same problemy licencyjne. W zastosowaniach WWW MySQL jest zawsze darmowy. Aby uruchomić MySQL, trzeba go zainstalować, a potem w podkatalogu bin MySQL’a, najlepiej z linii komend, uruchomić program mysql.exe.

1.      SQL – skok na głęboką wodę

Na pierwszych zajęciach zostało wspomniane, że SQL to zestandaryzowany język do tworzenia i obsługi baz danych. W tym punkcie zostaną pokazane podstawowe składnie języka SQL.

A.      Jak zrobić bazę danych w SQL?

Poleceniem :-). Na przykład bazę danych biblioteka tworzymy poleceniem:

mysql> CREATE DATABASE biblioteka;

Polecenie zawsze kończymy średnikiem. Jeśli teraz uruchomimy polecenie:

mysql> SHOW DATABASES;

to zobaczymy istniejące w systemie MySQL bazy danych, a wśród nich bazę biblioteka. Aby pracować z bazą danych, należy ustawić ją jako bazę bieżącą:

mysql> USE biblioteka;

Polecenia USE nie musimy kończyć średnikiem.

B.      Jak zrobić tabelę w bazie danych w SQL? Jak wpisać do niej dane? Jak ją usunąć?

Również poleceniem. Od teraz wszystko będziemy robić poleceniami :-). po „autor VARCHAR(50),” jest enter, ale nie kończy on polecenia – ma się ono kończyć średnikiem:

mysql> CREATE TABLE ksiazki (numer INT(7), tytul VARCHAR(50), autor VARCHAR(50),
    -> rokwyd INT(4), stron INT(5), wydawnictwo VARCHAR(50), pozyczyl INT(7), 
    -> data DATE, zamawia INT(7));

Następne przykłady nie będą tak trudne, żeby nie było dużo wstukiwania. Jeśli kopiujesz je ze strony, pamiętaj o tym, że polecenia możesz kopiować i wklejać, a nie przepisywać.

Jeśli chcemy zobaczyć tabele w bazie książki, piszemy:

mysql> SHOW TABLES;

A co jeśli chcemy, aby wartość nie mogła być pusta, miała jakąś wartość domyślną i klucz podstawowy? Wtedy:

mysql> CREATE TABLE przyklad (numer INT(7) DEFAULT '0001' NOT NULL PRIMARY KEY(numer));

Do usunięcia tabeli służy polecenie:

mysql> DROP TABLE przyklad;

A jeśli wartość ma się zwiększać automatycznie?

mysql> CREATE TABLE przyklad (numer INT(7) NOT NULL AUTO_INCREMENT PRIMARY KEY (numer));

Jak wpisać jakąś wartość do tabeli?

mysql> INSERT INTO przyklad VALUES (4);

C.      Jak wpisywać więcej danych? Jak usuwać? Jak edytować? Jak je wybierać?

Jak wpisać więcej wartości do tabeli?

mysql> INSERT INTO przyklad VALUES (4), (5), (CURRENT_DATE);

Jak usunąć wszystkie wartości z tabeli?

mysql> DELETE FROM przyklad;

Jak usunąć jedną wartość z tabeli?

mysql> DELETE FROM przyklad where numer=4;

Jak wybrać wszystkie wartości z tabeli?

mysql> SELECT * FROM przyklad;

Jak wybrać jedną wartości z tabeli?

mysql> SELECT * FROM przyklad WHERE numer=CURRENT_DATE;

Jak zmienić wartość w tabeli?

mysql> UPDATE przyklad SET numer=7 WHERE numer=5;

D.      Jak skasować bazę danych w SQL?

mysql> DROP DATABASE przyklad;

 

Proszę teraz wstukać definicję tabeli czytelników z odpowiednimi definicjami wartości (niezerowymi, o odpowiednich deklaracjach i z kluczem podstawowym).