Zielony Smok - logo witryny

SQL

SQL (Structured Query Language = strukturalny język zapytań) to język skryptowy używany do tworzenia modyfikowania i usuwania baz danych oraz do umieszczania, pobierania, zmieniania i usuwania danych oraz struktur danych w bazie danych.
Język SQL jest określony standardami, z których najważniejszymi są SQL86, SQL89, SQl99, SQL:2003. Poszczególne standardy są implementowane w przez wytwórców baz danych. Wytwórcy implementują standardy w różnym stopniu. Niektórzy z nich dodają własne modyfikację elementów języka, co powoduje, że istnieją spore różnice pomiędzy bazami danych w zakresie SQL i zanim przystąpi się do pracy z daną bazą danych należy zapoznać się ze szczegółami implementacji standardu.

Składnia SQL

W obrębie SQL wydziela się cztery ‘podjęzyki’, związane z grupowaniem poleceń języka, w zależności od rodzaju wykonywanych przez nie zadań:

  • SQL DML (ang. Data Manipulation Language – „język manipulacji danymi”)
  • SQL DDL (ang. Data Definition Language – „język definicji danych”)
  • SQL DCL (ang. Data Control Language – „język kontroli nad danymi”)
  • SQL DQL (ang. Data Query Language – „język definiowania zapytań”)

DML

DML (Data Manipulation Language) służy do wykonywania operacji na danych – do ich umieszczania w bazie, kasowania, przeglądania oraz dokonywania zmian. Najważniejsze polecenia z tego zbioru to:

  • INSERT – umieszczenie danych w bazie
  • UPDATE – zmiana danych
  • DELETE – usunięcie danych z bazy

DDL

Dzięki DDL (Data Definition Language) można operować na strukturach, w których dane są przechowywane – czyli np. dodawać, zmieniać i kasować tabele lub bazy. Najważniejsze polecenia tej grupy to:

  • CREATE (np. CREATE TABLE, CREATE DATABASE, …) – utworzenie struktury (bazy, tabeli, indeksu itp.)
  • DROP (np. DROP TABLE, DROP INDEX, …) – usunięcie struktury
  • ALTER (np. ALTER TABLE ADD COLUMN …) – zmiana struktury (dodanie kolumny do tabeli, zmiana typu danych w kolumnie tabeli)

DCL

DCL (Data Control Language) ma zastosowanie do nadawania uprawnień do obiektów bazodanowych. Najważniejsze polecenia w tej grupie to:

  • GRANT – służące do nadawania uprawnień do pojedynczych obiektów lub globalnie konkretnemu użytkownikowi (np. GRANT ALL PRIVILEGES ON EMPLOYEE TO PIOTR WITH GRANT OPTION – przyznanie wszystkich praw do tabeli EMPLOYEE użytkownikowi PIOTR z opcją pozwalającą mu nadawać prawa do tej tabeli)
  • REVOKE – służące do odbierania wskazanych uprawnień konkretnemu użytkownikowi (np. REVOKE ALL PRIVILEGES ON EMPLOYEE FROM PIOTR – odebranie użytkownikowi wszystkich praw do tabeli EMPLOYEE)

DQL

DQL (Data Query Language) to język formułowania zapytań do bazy danych. W zakres tego języka wchodzi jedno polecenie – SELECT. Często SELECT traktuje się jako część języka DML, ale to podejście nie wydaje się właściwe, ponieważ DML z definicji służy do manipulowania danymi – ich tworzenia, usuwania i uaktualniania.

Wywoływanie poleceń

Polecenia SQL wywołuje się z poziomu JDBC. W bazie danych Apache Derby można wywoływać polecenia z poziomu narzędzia ij.
Polecenia można:

  • wykonywać pojedynczo
  • zgrupować przy użyciu metody addBatch
  • zgrupować w skrypcie umieszczonym w oddzielnym pliku