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.