Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
SQL - Structured Query Language
Język relacyjnych baz danych
2
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
3
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
4
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 [, ...]]);
5
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
6
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
7
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
8
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ć.
9
Polecenie – „SELECT” – składnia
SELECT parametry FROM nazwa_tabel WHERE warunki SORT BY kolumna typ_sortowania ORDER BY kolumna LIMIT start, ilość;
10
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
11
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’.
12
Polecenie – „INSERT” pozwala wprowadzań dane do tabel w bazie danych
umożliwia dodania jednego lub wielu rekordów naraz
13
Polecenie – „INSERT” - składnia
INSERT INTO nazwa_tabeli (kolumna1,kolumna2,…,kolumnan) VALUES (dane1,dane2,…,danen), …, (dane1,dane2,…,danen);
14
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
15
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.
16
Polecenie – „UPDATE” pozwala na aktualizacje danych w wstawionych już rekordach. umożliwia edycje jednego lub wielu rekordu jednocześnie
17
Polecenie – „UPDATE” – składnia
UPDATE nazwa_tabeli SET kolumna1 = wartość, …, kulmnan = wartośćn, WHERE warunki;
18
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
19
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.
20
Polecenie – „DELETE” polecenie umożliwia usuwanie rekordów z tabeli
umożliwia usunięcie jednego lub wielu rekordów jednocześnie
21
Polecenie – „DELETE” - składnia
DELETE FROM nazwa_tabeli WHERE warunki;
22
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
23
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’.
24
Polecenie – „GRANT” tworzenie użytkowników bazy danych
nadawanie uprawnień użytkownikom
25
Polecenie „GRANT” - składnia
GRANT lista_praw_dostepu ON nazwa_tabeli TO nazwa_uzytkownika
26
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
27
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.
28
Żródła: http://it.dth.pl/grant-oraz-revoke-kurs-jezyka-sql-mysql-cz-1/
Książka: „PHP i MySQL Tworzenie stron WWW F7 2005”
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.