Lekcja 10

advertisement
MySQL (maɪɛskjuːˈɛl) – wolnodostępny system zarządzania relacyjnymi bazami danych, rocznik 1995
Wolny dostęp - do kodu źródłowego, z prawem do modyfikacji i rozpowszechniania.
Relacyjna baza danych – dane są umieszczone w tabelach, rekordy (wiersze) jednej tabeli mają
identyczną strukturę, istnieją określone związki między danymi w tabelach.
Oprócz relacyjnych baz danych stosuje się też obiektowe i strumieniowe bazy danych.
Polecenia MySQL w trybie konsoli:
Logowanie użytkownika user
flaga "-p" oznacza, że zamierzamy podać hasło.
Po wpisaniu komendy zostaniemy zapytani o hasło
mysql -u user -p
po zalogowaniu wyświetlany jest prompt: mysql> wpisz polecenie zakończone średnikiem
USE nazwa_bazy;
wybieranie istniejącej bazy danych
SHOW TABLES;
wyświetlanie tabel w bazie
DESCRIBE nazwa_tabeli;
wyświetla nazwy i typy pól w tabeli
CREATE TABLE nazwa_tabeli (
pole1 INT AUTO_INCREMENT PRIMARY KEY,
pole2 VARCHAR(128),
pole3 INT);
tworzenie tabeli
INSERT INTO tabela VALUES (liczba1', 'tekst2', liczba3);
INSERT INTO tabela (pole2,pole3) VALUES ('tekst2', liczba3);
wprowdzanie danych do tabeli
LOAD DATA LOCAL INFILE '~/nazwapliku.txt' INTO TABLE
nazwa_tabeli;
wczytywanie wartości z pliku (dane oddziel
tabulatorem)
SOURCE plik_sql;
wczytywanie żródła
SELECT * FROM tabela WHERE nazwapola=wartość;
wybieranie danych z tabeli
DELETE FROM tabela WHERE pole='wartość';
usuwanie rekordów z tabeli
QUIT
wyjście z MySQL
;
CREATE TABLE ktomoze ( idu INTEGER NOT NULL AUTO_INCREMENT, nazwa CHAR(10) NOT NULL,
poziom INTEGER, PRIMARY KEY (idu) ) ENGINE InnoDB;
SHOW TABLES;
// pokaże listę nazw tabel
DESCRIBE ktomoze;
// pokaże strukturę tabeli: nazwy i typy pól
INSERT INTO ktomoze (nazwa, poziom) values ('szef',1);
INSERT INTO ktomoze (nazwa, poziom) values ('kucharz',2);
INSERT INTO ktomoze (nazwa, poziom) values ('klient',3);
// wstawi nowy rekord danych
SELECT * FROM ktomoze;
// pokaże wszystkie rekordy
UPDATE ktomoze SET nazwa=’bosman’ WHERE nazwa=’kucharz’;
// zmieni nazwy ‘kucharz’ na ‘bosman’
LOAD DATA LOCAL INFILE ‘~/www/kto_tab.txt’ INTO TABLE ktomoze; // ładuje rekordy z pliku
SELECT nazwa, poziom FROM ktomoze WHERE poziom=2;
DELETE FROM ktomoze WHERE nazwa='klient';
DROP TABLE ktomoze;
// usunie rekordy zawierające nazwę ‘klient’
// usunie tabelę, można (?) też usunąć całą bazę: DROP DATABASE mojabaza;
phpMyAdmin – narzędzie służące do łatwego zarządzania bazą danych MySQL, napisane w języku PHP.
Wszystkie operacje mogą być wykonywane z poziomu przeglądarki internetowej.
Zaloguj się na stronie: student.zsl.gda.pl/phpmyadmin
Wybierz swoją bazę danych
Utwórz nową tabelę o nazwie pizza, zawierającą 5 pól:
Zdefiniuj strukturę tabeli: podaj nazwy i typy danych wszystkich 5 pól w tabeli, oraz mechanizm
składowania danych (engine). Dla pola ID_pizzy zaznacz pole AUTO_INCREMENT A_I (nie będzie trzeba
podawać wartości tego pola, system automatycznie zadba o wprowadzanie kolejnych wartości i ustawi klucz
podstawowy na tym polu).
Wykonaj i Zachowaj
Popularne typy pól tekstowych (w nawiasach okrągłych podaje się maksymalną długość łańcucha znaków)
CHAR(długość)
Pole tekstowe o stałej długości, max 255 znaków. Dłuższy łańcuch będzie obcięty
VARCHAR(długość)
Pole tekstowe o zmiennej długości =liczbie znaków w tekście + 1, max 255 znaków. Też obcina.
TEXT(długość)
Tekst o maksymalnej długości 65 535 znaków. Zajmuje tyle bajtów ile znaków +2
Pole klucza podstawowego ID_pizzy jest podkreślone. Klucz można też ustawić w trybie edycji pola:
Dodaj pizzę o nazwie Swojska, podaj skład oraz cenę dużej i małej pizzy (kropka dziesiętna!)
Przejrzyj zawartość tabeli pizza. Na razie jest tylko jeden rekord. Można edytować zawartość tego rekordu.
Pole ID_pizzy, jako auto_increment, uzyskało automatycznie wartość 1.
Zaimportuj dane z pliku pizza_tab.txt
Przećwicz następujące operacje na danych:
1. Wybierz rekordy w których cena dużej pizzy nie przekracza 15 zł. Pokaż nazwy i ceny tych pizz.
2. Wyszukaj pizze z ananasem
3. Wyszukaj pizze z szynką i pieczarkami (wynik: 6 rekordów)
4. Wyeksportuj całą tabelę pizza do pliku w formacie arkusza Microsoft Excel, podaj własną nazwę pliku
5. Skopiuj całą tabelę pizza do nowej tabeli o nazwie pizza_kopia: na karcie Operacje okno Skopiuj tabelę.
6. Jeżeli masz nieciągłą numerację ID_pizzy, to w karcie Struktura usuń pole ID_pizzy, a następnie dodaj nowe
pole:
Nadaj mu nazwę ID_pizzy, typ INT o max szerokości 3, zaznacz AUTO_INCREMENT. Wykonaj i Zachowaj.
Download