Aby zarządzać naszymi bazami opartych na MYSQL możemy wykorzystywać wiele różnych programów klienckich, choćby popularny przeglądarkowy PHPMYADMIN. Oczywiście programy oparte na GUI są łatwiejsze, gdyż jedno kliknięcie generuje odpowiednie zapytanie SQL, np. utworzenie nowej tabeli. Ale w tym wypadku nie będziemy szli na łatwiznę i przedstawię w poniższym wpisie najbardziej użyteczne operacje na standardowym kliencie MySQL działającym w trybie tekstowym pod konsolą.
Logowanie do MySQL
Podstawowa kwestia to oczywiście zalogowanie się do serwera MySQL:
W parametrze u podajemy nazwę użytkownika, tak jak jest pokazane w przykładzie ( może być bez spacji ), parametr p oznacza, że wymagane będzie podanie hasła. Możemy zaraz po parametrze p podać hasło ( też może użycia bez spacji pomiędzy parametrem a hasłem ).
Jeśli osobiście instalowaliśmy serwer MySQL, to oczywiście w bazie nie mamy żadnego użytkownika, poza super użytkownikiem ( root).
Tworzenie nowego użytkownika
Utworzenie tylko nowego użytkownika bez żadnych praw do baz danych:
Utworzenie nowego użytkownika z przydzieleniem mu praw do określonej bazy danych:
Parametry:
- ALL – wszystkie uprawnienia
- ON – za tym parametrem wpisujemy nazwę bazy danych. Operator (.*) oznacza, że mają być brane pod uwagę wszystkie tabele z bazy danych określonej przed „kropką”
- TO – za tym parametrem wpisujemy nazwę użytkownika
- IDENTIFIED BY – za tym poleceniem ustawiamy hasło użytkownika
Jeśli zmiany nie są widoczne to po wykonywanych poleceniach należy przeładować uprawnienia:
Jeśli zamiast `NAZWA_BAZY.*` wpiszemy *.* oznaczać to będzie, że użytkownik będzie miał dostęp do wszystkich baz i ich tabel. Gwiazdka oznacza w tych wyrażeniach „wszystko”.
Możemy również też przypisać prawa konkretnej tabeli, wtedy oczywiście zamiast gwiazdki po kropce określającej nazwę bazy wpisujemy nazwę konkretnej tabeli ( NAZWA_BAZY.NAZWA_TABELI ).
Oczywiście nadawanie użytkownikowi wszystkich praw wykorzystując parametr ALL jest mało rozsądne.
Zamiast tego, należałoby wypisywać uprawnienia w postaci listy poleceń SQL do których dostęp będzie miał nowo używkonik dając mu najbardziej przydatne z punktu widzenia użytkownika polecenia np.:
ZMIANA HASŁA UŻYTKOWNIKA
Ten przykład pokazuje jak zmienić hasło bieżącego (zalogowanego) użytkownika
Funkcja PASSWORD() poprostu szyfruje nasze hasło, tak wiec zostaje dodane/zaktualizowane już w postaci zaszyfrowanej i tak powinno się robić w tym przypadku !
Dla określonego użytkownika:
lub:
TWORZENIE NOWEJ BAZY
UTWORZENIE NOWEJ TABELI
Nazwy tworzonych pól wraz z ich typy danych rozdzielamy przecinkami, po ostatnim zadeklarowanym polu oczywiście przecinka już nie wpisujemy tylko zamykamy deklaracje pól nawiasem zamykającym.
Przykład z wieloma polami i ustawieniem głównego klucz dla pole1 i unikalności dla pole2:
CREATE TABLE `nazwa_tabeli` ( `pole1` INT NOT NULL auto_incremet, `pole2` VARCHAR(64), `pole3` FLOAT(3,1), `pole4` TEXT NOT NULL, `pole5` ENUM('1','2','INNE'), PRIMARY KEY (`pole1`), UNIQUE (`pole2`) )
UŻYTECZNE POLECENIA / KOMENDY MYSQL
- SHOW DATABASES; – pokazuje wszystkie utworzone bazy danych
- USE [nazwa_tabeli]; – ustawia aktywną bazę danych, na które aktualnie mamy pracować
- SHOW TABLES; – pokazuje wszystkie tabele aktualnie wybranej tabeli ( USE )
- SELECT DATABASE(); – pokazuje nazwę aktualnej bazy na której pracujemy
- SELECT LAST_INSERT_ID(); – pokazuje numer ostatnio dodanego rekordu ( jeśli ma pole z AUTO_INCREMENT )
- DESCRIBE `nazwa_tabeli`; – pokazuje strukturę tabeli
- EXPLAIN `nazwa_tabeli`; – to samo co powyżek
- SHOW VARIABLES; pokazuje zmienne systemowe MYSQL, np. możemy w łatwy sposób sprawdzić aktualnie kodowanie znaków w MYSQL: SHOW VARIABLES LIKE 'character_set%’;