LAB1. Podstawy pracy z bazą MySQL Instalacja Tylko MySQL (Community Server): https://dev.mysql.com/downloads/mysql/ lub pakiet XAMPP: https://www.apachefriends.org/pl/index.html http://portableapps.com/apps/development/xampp (wersja portable – dość stara, ale wystarczająca) Podstawowy program konsoli tekstowej (MySQL Monitor): \mysql\bin\mysql.exe Jeżeli serwer MySQL nie został uruchomiony bądź nie pracuje poprawnie, otrzymamy błąd: ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061) Logowanie początkowe na konto administratora – bez hasła mysql.exe –u root Ustalenie hasła administratora SET PASSWORD FOR 'root'@'localhost' = PASSWORD('hasloroota'); lub przy uzyciu mysqladmin.exe: mysqladmin -u root password hasloroota Opuszczenie konsoli exit Logowanie z żądaniem pytania o hasło mysql.exe –u root -p Logowanie z podaniem hasła mysql.exe –u root -phasloroota (Uwaga! Między przełącznikiem „–p” a hasłem nie ma spacji!) Kilka podstawowych poleceń „na próbę” select select select select select select 1 + 3; – operacje arytmetyczne version(); – wersja MySQL user(); – bieżący użytkownik database(); – bieżąca baza danych current_time(); – bieżący czas current_date(); – bieżąca data Wykonywanie poleceń z pliku tekstowego source plik.sql lub mysql.exe –u root –p < plik.sql Komentarze /* /* /* ----- To jest Komentarz */ Oczywiście stosowanie komentarzy ma sens, * gdy polecenia są zapisane w pliku */ To też jest komentarz, wszystko za znakami '--' jest pomijane przez analizator SQL-a. Zapisywanie poleceń/wyników do pliku tekstowego tee output.txt Utworzenie bazy danych CREATE DATABASE lab; Utworzenie użytkownika lab z wszystkim prawami dostępu do bazy lab GRANT ALL PRIVILEGES ON lab.* TO 'lab'@'localhost' IDENTIFIED BY 'lab'; GRANT ALL PRIVILEGES ON lab.* TO 'lab'@'%' IDENTIFIED BY 'lab'; Logowanie do bazy lab użytkownika lab z podaniem hasła lab mysql.exe lab –u lab –plab (Uwaga! Między „–p” a „lab” nie ma spacji!) Usunięcie użytkownika lab i bazy danych lab DROP DATABASE lab; DROP USER 'lab'@'localhost'; DROP USER 'lab'@'%'; Wyświetlenie listy dostępnych baz danych SHOW DATABASES; Przełączenie na bazę lab USE lab; Sprawdzenie informacji o tabelach w bazie, m.in. jakiego silnika i kodowania znaków używają: show table status; (polecenie ma sens, jeżeli w bazie istnieją już jakieś tabele) Zmiana domyślnego kodowania i sposobu porównywania tekstów ALTER DATABASE lab DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;