Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion Autor: Joanna Karwowska
SQL zapewnia obsługę: zapytań - wyszukiwanie danych w bazie, operowania danymi - wstawianie, modyfikowanie i usuwanie, definiowania danych - dodawanie do bazy danych nowych tabel, sterowania danymi - ochrona przed niepowołanym dostępem.
Język SQL jest zorientowany na przetwarzanie zbiorów. SQL jest językiem deklaratywnym. Jest językiem IV generacji. Nie rozróżnia się małych i dużych liter. Ignorowane są znaki końca linii. Każde polecenie SQL powinno być zakończone średnikiem.
Język deklaratywny opisuje co ma być zrobione, ale nie jak. Przykład ogólnego polecenia: Posprzątaj zabawki. Przykład polecenia szczegółowego: Pozbieraj zabawki i postaw samochody na półce a klocki wrzuć do pudełka.
Język proceduralny Procedura sprzątania: 1. podnieś zabawkę z podłogi 2. zanieś do swojego pokoju 3. podejdź do półki 4. połóż zabawkę na pierwszym wolnym miejscu
DDL (Data Definition Language) język definiowania danych, DML (Data Manipulation Language) język manipulowania danymi, DCL (Data Control Language) język kontrolowania danych, DQL (Data Query Language) język zapytań, TCL (Transaction Control Language) - język sterowania przepływem danych.
Język Definiowania Danych służy do definiowania i operowania na strukturach, w których dane są przechowywane. Polecenia z tego zbioru: CREATE utworzenie struktury (np. tabeli /relacji, indeksu itp.) DROP usunięcie struktury ALTER zmiana struktury (np. dodanie kolumny do tabeli)
Język Manipulowania Danymi służy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. Najważniejsze polecenia z tego zbioru to: INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy.
Język Kontrolowania Danych służy do zapewnienia bezpieczeństwa dostępu do danych. Jest używany Głównie przez administratorów systemu baz danych do nadawania odpowiednich uprawnień do korzystania z bazy danych. Najważniejsze polecenia w tej grupie to: GRANT przyznanie praw, REVOKE odebranie praw, DENY bezwarunkowe odebranie praw.
Język zapytań, którego zadaniem jest pobieranie informacji spełniających określone warunki. Najważniejsze polecenie w tej grupie to: SELECT pobieranie i wyświetlanie danych.
Język sterowania przepływem danych służy do kontroli transakcji. Najważniejsze polecenia w tej grupie to: COMMIT potwierdzenie transakcji, ROLLBACK - wycofanie transakcji.
CREATE DATABASE nazwa_bazy_danych; Ćw.1 Utwórz bazę danych o nazwie firma_nazwisko; CREATE DATABASE firma_karwowska;
USE nazwa_bazy_danych; Ćw.2 Uaktywnij swoją bazę danych; USE firma_karwowska; Pojawi się komunikat, że baza danych została zmieniona: DATABASE CHANGED
CREATE TABLE stanowiska ( id_stanowiska INT PRIMARY KEY AUTO_INCREMENT, nazwa VARCHAR(20) UNIQUE NOT NULL, pensja DECIMAL(7,2) NOT NULL ); Strukturę zaprojektowanej tabeli wyświetlamy poleceniem: DESCRIBE stanowiska;
CREATE TABLE pracownicy ( id_pracownika INT PRIMARY KEY AUTO_INCREMENT, imie VARCHAR(20) NOT NULL, nazwisko VARCHAR(20) NOT NULL, data_ur DATE NOT NULL, pesel CHAR(11) UNIQUE NOT NULL, miasto VARCHAR(20) NOT NULL, stanowisko_id INT NOT NULL REFERENCES stanowiska(id_stanowiska) ); {skrócona definicja klucza obcego}
INSERT INTO stanowiska(nazwa, pensja) VALUES ( kierownik, 4000,00); INSERT INTO stanowiska(nazwa, pensja) VALUES ( asystent, 3200,00); Uwaga! Liczby wpisujemy bez apostrofu!
INSERT INTO pracownicy VALUES (1, Anna, Nowak, 1985-04-01, 85040112345, Sopot, 3); INSERT INTO pracownicy VALUES (2, Jan, Kowalski, 1975-05-01, 75050154321, Gdańsk, 1);
Aby wyświetlić dane zapisane w tabeli należy użyć zapytania SELECT! SELECT * FROM nazwa_tabeli; SELECT * FROM stanowiska; SELECT * FROM pracownicy;