SQL - Structured Query Language Język relacyjnych baz danych
Podstawowe komponenty SQL DDL (Data Definition Language) – język definiowania struktur danych (CREATE) i kontroli dostępu DQL (Data Query Language) – język definiowania zapytań dla wyszukiwania danych (SELECT) DML (Data Manipulation Language) – język operacji na danych (INSERT, UPDATE, DELETE), tj. służący do wyszukiwania i modyfikowania danych
Polecenie – „CREATE” polecenie SQL używane do tworzenia obiektów pozwala tworzyć tabele określając jej nazwę, kolumny, indeksy oraz mechanizm i język porównywania napisów umożliwia nakładanie ograniczeń w stosunku do jednego lub wielu pól
Polecenie – „CREATE” - składnia CREATE TABLE nazwa_tabeli (typ_pola1 [(rozmiar)] [NOT NULL] [indeks1] [, typ pola2 [(rozmiar)] [NOT NULL] [indeks2] … [, typ polan [(rozmiar)] [NOT NULL] [indeksn] [, CONSTRAINT indeks_wielopolowy [, ...]]);
Polecenie – „CREATE” - składnia nazwa_tabeli - Nazwa tabeli, która ma zostać utworzona. pole1, pole2 - Nazwa pola lub pól, jakie mają zostać utworzone w nowej tabeli. Należy utworzyć przynajmniej jedno pole. typ - Typ danych pola w nowej tabeli. rozmiar - Rozmiar pola wyrażony w znakach (tylko pola zawierające dane tekstowe i binarne). indeks1, indeks2 - Klauzula CONSTRAINT określająca indeks jednopolowy. indeks_wielopolowy - Klauzula CONSTRAINT określająca indeks wielopolowy
Polecenie – „CREATE” - ograniczenia typy ograniczeń, jakie możemy nakładać na tabelę przy pomocy klauzuli CONSTRAINT w instrukcji CREATE TABLE PRIMARY KEY – wyznacza pole (lub grupę pól), które tworzy klucz podstawowy, UNIQUE – określa klucz unikatowy, NOT NULL – wykluczenie wartości NULL w określonym polu, FOREIGN KEY – określa pole klucza obcego w tabeli
Polecenie – „CREATE” - przykład CREATE TABLE IF NOT EXISTS `logs` ( `id_logs` int(11) NOT NULL auto_increment, `id_users` int(11) default NULL, `name` varchar(255) NOT NULL, `type` varchar(255) NOT NULL, `data` timestamp NOT NULL default CURRENT_TIMESTAMP, PRIMARY KEY (`id_logs`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Tworzy tabelę o nazwie ‘logs’ zawierającą 5 kolumn Ustawia mechanizm na InnoDB oraz język porównywania napisów na UTF8 Kluczem podstawowym jest kolumna ‘id_logs’ auto_increment nadaje kolumnie ‘id_logs’ automatyczną numeracje wpisów
Polecenie – „SELECT” podstawową, najczęściej używaną instrukcją języka SQL jest instrukcja SELECT, która służy do pobierania danych z jednej tabeli lub większej liczby tabel. niezależnie od liczby tabel oraz niezależnie od rodzaju operacji wykonywanych na zbiorach, zawsze jako wynik otrzymujemy wirtualną pojedynczą tabelę (tzw. dynamiczny zestaw wyników), którą dalej możemy przetwarzać.
Polecenie – „SELECT” – składnia SELECT parametry FROM nazwa_tabel WHERE warunki SORT BY kolumna typ_sortowania ORDER BY kolumna LIMIT start, ilość;
Polecenie – „SELECT” – składnia parametry – lista kolumn, które chcemy pobrać w zapytaniu(symbol ‘*’ oznacza wszystkich kolumn z tabel określonych w nazwa_tabel) nazwa_tabel – lista tabel, z których chcemy korzystać w zapytaniu(pobierać z nich dane lub budować na nich relacje) warunki – warunki jakie mają spełniać pobierane dane kolumna – nazwa kolumny po której dane mają być grupowane lub sortowane typ_sortowania – malejące(DESC)/rosnące(ASC) start – nr rekordu od którego zaczyna się pobierać dane ilość – maksymalna ilość pobieranych rekordów
Polecenie – „SELECT” - przykład SELECT * FROM `logs` WHERE `id_users` = 1 AND `type` = ‘error’ SORT BY data DESC LIMIT 0, 10; Zapytania wyświetli maksymalnie 10 rekordów posortowanych od ostatnio dodanego z wszystkimi kolumnami jakie zawiera tabela w których `id_users` = 1 i `type’ = ‘error’.
Polecenie – „INSERT” pozwala wprowadzań dane do tabel w bazie danych umożliwia dodania jednego lub wielu rekordów naraz
Polecenie – „INSERT” - składnia INSERT INTO nazwa_tabeli (kolumna1,kolumna2,…,kolumnan) VALUES (dane1,dane2,…,danen), …, (dane1,dane2,…,danen);
Polecenie – „INSERT” – składnia nazwa_tabeli – nazwa tabeli do której chcemy wprowadzić dane kolumna(1..n) – kolumny do których chcemy wprowadzić dane dane(1..n) – dane wprowadzane do tabeli odpowiednio do wybranych kolumn
Polecenie – „INSERT” - przykład INSERT INTO `logs` (`id_logs`,`id_users`,`name`,`type`,`data`) VALUES (NULL,1,’tworzenie wpisu’,’error’,NULL), (NULL,1,’tworzenie wpisu’,’success’,NULL); Polecenie dodaje do tabeli `logs` dwa rekordy. NULL w liście wprowadzanych danych powoduje wstawienie domyślnych wartości kolumny ustawione przy tworzeniu tabeli.
Polecenie – „UPDATE” pozwala na aktualizacje danych w wstawionych już rekordach. umożliwia edycje jednego lub wielu rekordu jednocześnie
Polecenie – „UPDATE” – składnia UPDATE nazwa_tabeli SET kolumna1 = wartość, …, kulmnan = wartośćn, WHERE warunki;
Polecenie – „UPDATE” - składnia nazwa_tabeli – nazwa tabeli, w której chcemy zaktualizować dane kolumna(1..n) – kolumny w których chcemy dokonać zmian wartość(1..n) – wartości, którymi chcemy wypełnić komórki warunki – warunki jakie musi spełnić rekord aby dokonać w nim aktualizacji danych
Polecenie – „UPDATE” – przykład UPDATE `logs` SET `name` = ‘tworzenie wpisu - aktualności’ WHERE `id_users` = 1; Polecenie zmienia wartość kolumny `name` z ‘tworzenie wpisu’ na ‘tworzenie wpisu – aktualności’ w rekordach, w których `id_users` = 1.
Polecenie – „DELETE” polecenie umożliwia usuwanie rekordów z tabeli umożliwia usunięcie jednego lub wielu rekordów jednocześnie
Polecenie – „DELETE” - składnia DELETE FROM nazwa_tabeli WHERE warunki;
Polecenie – „DELETE” - składnia nazwa_tabeli – nazwa tabeli, z której mają być usunięte dane warunki – warunki jakie musi spełnić rekord by mógł zostać usunięty
Polecenie – „DELETE” - przykład DELETE FROM `logs` WHERE `type` = ‘error’; Polecenie usuwa rekordy z tabeli `logs`, w których komórka `type` równa się ‘error’.
Polecenie – „GRANT” tworzenie użytkowników bazy danych nadawanie uprawnień użytkownikom
Polecenie „GRANT” - składnia GRANT lista_praw_dostepu ON nazwa_tabeli TO nazwa_uzytkownika
Polecenie „GRANT” - składnia lista_praw_dostepu – lista typów uprawnień jakie mają zostać nadane użytkownikowi nazwa_tabeli – nazwa tabeli do której maja zostać nadane uprawnienia nazwa_uzytkownika – nazwa użytkownika do którego mają zostać przypisane uprawnienia
Polecenie – „GRANT” - przykład GRANT SELECT, INSERT, UPDATE ON `logs` TO biuro Polecenie nadaje uprawnienia użytkownikowi biuro do pobierania, wstawiania i uaktualniania danych w tabeli `logs` i tworzy go jeśli nie istnieje.
Żródła: http://it.dth.pl/grant-oraz-revoke-kurs-jezyka-sql-mysql-cz-1/ http://pl.wikipedia.org http://www.w3schools.com Książka: „PHP i MySQL Tworzenie stron WWW F7 2005”