SQL = DDL + DML + DCL
DDL - język definiowania struktór danych
(create - tworzenie obiektów)
(drop - usuwanie obiektów / upuszczanie)
(alter - zmiana struktury tabeli)
DML - język manipulowania danymi
(insert - wstawianie danych do tabeli)
(update - modyfikowanie danych w tabeli)
(delete - kasowanie wierszy w tabeli)
DCL - język zapewnienia bezpieczeństwa danych
(grant - nadawanie uprawnień)
(revoke - usuwanie uprawnień)
______________________________________________
TWORZENIE BAZ + WPROWADZANIE DANYCH
1. Tworzenie baz danych
Create database nazwa_bazy;
2. wyświetlenie listy baz danych
show databases;
3. wybór bazy danych
use nazwa_bazy;
4. wyświetalanie listy tabel
show tables;
5. typy danych w SQL
varchar (il_znaków) - typ znakowy
char (il_znaków) - typ znakowy (puste znaki = spacje)
int, integer - typ całkowity
date (rrrr-mm-dd) - format daty
decimal (ilość_miejsc_przed,_il_miejsc_po) - typ dziesiętny
float - typ rzeczywisty
double - typ rzeczywisty
6. tworzenie tabeli
create table nazwa_tabeli (nazwa_pola1 typ_pola1, nazwa_pola2 typ_pola2);
Przykład tworzenia tabeli:
create table pracownicy (imie varchar(15), nazwisko varchar(20), data_urodzenia date, place decimal(6,2));
create table klienci
(id int NOT NULL,
imie varchar(20),
nazwisko varchar(20),
data_ur date deafult='1955-02-14', PRIMARY KEY(id));
not null - pole musi byc wypelnione
default - wartosc domyslna
primary key - klucz główny
7. wyświetlanie całej tabeli
SELECT * FROM nazwa_tabeli;
8. wprowadzenie danych do tabeli
I postać INSERT'a - jeśli wpisujemy wszystkie pola do tabeli
INSERT INTO nazwa_tabeli VALUES('Mateusz', 'Kowal', '1990-01-22', '2000.55');
II postać INSERT'a - nie wszystkie pola w tabeli i nie w kolejnosci tworzenia
INSERT INTO nazwa_tabeli (id, nazwisko, imie,) VALUES(1, 'Ciok', 'Anna');
III postać INSERT'a
INSERT INTO pracownicy SET imie='Adam', nazwisko='Wlos', placa='1569.40';
IV postać INSERT'a - wiecej niz 1 wiersz
INSERT INTO klienci (id. imie, nazwisko) values (2, 'Ewa', 'Farna'), (3, 'Kasia', 'KOwalska');
9. Wyświetlenie struktury tabeli
DESCRIBE nazwa_tabeli;
10. wyświetlenie polecenia tworzącego tabelę
SHOW CREATE TABLE nazwa;
11. usuwanie tabeli
DROP TABLE nazwa;
12. usuwanie bazy
DROP DATABASE nazwa;
__________________________________________
MODYFIKACJA STRUKTUR TABELI źą
1. Dodawanie nowego pola do tabeli
ALTER TABLE nazwa_tabeli ADD nazwa_pola typ_pola;
2. Zmiana typu wybranego pola
ALTER TABLE nazwa_tabeli MODIFY nazwa_pola nowy_typ_pola;
3. Usuwanie wybranej kolumny (pola)
ALTER TABLE nazwa_tabeli DROP nazwa_pola;
4. Zmiana nazwy w tabeli
ALTER TABLE nazwa_tabeli RENAME nowa_nazwa;
5. Wyswietlenie nazwy pól i opcji pól
DESCRIBE nazwa_tabeli;
6. Wypisanie komendy tworzacej tabele
SHOW CREATE TABLE nazwa_tabeli;
7. Wypisanie danych rozszerzonych
SHOW FULL COLUMNS FROM nazwa_tabeli;
__________________________________________
MODYFIKACJA DANYCH W TABELI
1. Modyfikowanie pola w całej tabeli
UPDATE nazwa_tabeli SET nazwa_pola = nowa_wartośći;
np. UPDATE zatrudnieni SET imie='zofia';
2. Klałzura WHERE
UPDATE zatrudnieni SET nazwisko='Nowak' WHERE id=8;
UPDATE zatrudnieni SET pensja=pensja+100 WHERE stanowisko='sprzedawca';
UPDATE zatrudnieni SET pensja=pensja+100 WHERE stanowisko='programista' AND Staz>8;
3. Spójniki logiczne: AND, OR, NOT
znaki porówanania: =, <, >, >=, <=
rózne: <>
3. Usuwanie wierszy (rekordów)
DELETE FROM nazwa_tabeli;
np. DELETE FROM zatrudnieni WHERE nazwisko LIKE 'N%';
___________________________________________
WYŚWIETLANIE PÓL I KOLUMN
1. Wyświetlanie wybranych pól z tabeli
SELECT pole1, pole2, from nazwa_tabeli;
Np. select produkt, cena from towary;
2. Wyświetlanie danych posortowanych rosnąco/malejąco
SELECT lista_pól from nazwa_tabeli ORDER BY nazwa_pola ASC (lub DESC);
Sortowanie rosnąco
SELECT produkt, cena FROM towary ORDER BY produkt ASC;
Sortowanie malejąco
SELECT produkt, cena FROM towary ORDER BY produkt DESC;
3. Wyświetlanie pól z kilku tabel
SELECT lista_pól from lista_tabel;
Np.: SELECT imie, nazwisko, nazwa from Piłkarze, Kluby;
4. Wyświetlanie warunkowe z klauzulą WHERE
SELECT lista_pól from nazwa_tabeli WHERE warunek;
5. PREDYKATY
a) Predykat IN
IN wykorzystywany jest w podzapytaniach. Służy do wybierania w zapytaniu tych
rekordów dla których w podzapytaniu istnieją rekordy o tych samych wartościach. Jeśli
chcemy wybrać rekordy, które nie istnieją w podzapytaniu dodaje się słowo kluczowe NOT.
Np. SELECT * FROM Studenci WHERE Miasto IN (‘Rzeszów’, ’Kraków’)
Wybiera wszystkie dane o studentach mieszkających w Rzeszowie i Krakowie.
b) Predykat BETWEEN
BETWEEN sprawdza, czy wartość wyrażenia jest zawarta w określonym przedziale
wartości. Gdy wartość wyrażenia mieści się w tym przedziale zwrócona zostanie wartość
TRUE; w przeciwnym razie, zwraca wartość FALSE
np. SELECT * FROM studenci WHERE DataObrony BETWEEN #02-04-98# AND #09-09-98#;
np. SELECT * FROM studenci WHERE rok_studiow BETWEEN 2 AND 4;
c) Predykat LIKE