Programowanie obiektowe - JAVA
Informacje ogólne > Laboratorium 7 > Podstawy SQL

Podstawy SQL

Istnieje bardzo wiele stron przedstawiających podstawy języka SQL (http://www.google.com/search?q=Podstawy+SQL). W tym miejscu zostaną przedstawione bardzo ograniczone informacje, które powinny wystarczyć do poprawnego wykonania laboratorium.

Bazy danych jak sama nazwa wskazuje zawiera uporządkowany zbiór danych. W zdecydowanej większości dane grupowane są w formie tabel.

Język SQL pozwala na zarządzanie bazą danych, między innymi poprzez:
   - tworzenie nowych tabel
   - dodawanie danych do tabel
   - modyfikację danych zawartych w tabelach
   - modyfikację struktury tabel
   - usuwanie danych z tabel oraz usuwanie całych tabel
   - pobieranie danych z tabel (w trakcie zajęć będzie możliwość wykorzystania jedynie tej funkcji)

Do realizacji poszczególnych zadań służą odpowiednie komendy SQL.

Opis komend SQL zostanie ograniczony jedynie do skróconego opisu komendy SELECT (pobierającej dane z bazy) - inne komendy nie będą potrzebne w trakcie zajęć.

Ogólna składnia komendy SELECT:

SELECT column1, column2, ... FROM table_name [WHERE condition] [ORDER BY o_column]

gdzie:

  • column1, column2,... to nazwy kolumn, których zawartość ma być wyświetlona jako wynik zapytania.
  • table_name to nazwa tabeli, z której pobierane są dane
  • condition to warunek jaki muszą spełniać wiersze tabeli, aby zostać wyświetlone
  • o_column to kolumna, wg. której mają być posortowane wyniki zapytania

Chcąc pobrać wszystkie kolumny z tableli zamiast wypisywać ich nazwy można użyć * (gwiazdka), np komenda:

SELECT * FROM osoby

zwróci wszystkie kolumny z tabeli osoby.

Parametry [WHERE condition] oraz [ORDER BY o_column] są opcjonalne.

Załóżmy, że tabela osoby zawiera trzy kolumny: imie, nazwisko oraz wiek. W takim przypadku komenda:

SELECT imie FROM osoby WHERE wiek = 18

zwróci imiona osób, które mają 18 lat.
Z kolei komenda:

SELECT nazwisko, imie FROM osoby ORDER BY wiek

zwróci nazwiska i imiona wszystkich osób z tabeli, posortowane według wieku.

Inna komenda:

SELECT nazwisko, imie FROM osoby ORDER BY nazwisko DESC

zwróci nazwiska i imiona wszystkich osób z tabeli, posortowane alfabetycznie według nazwisk, w odwróconej kolejności od Z do A (modyfikator DESC sprawia, że kolejność sortowania jest odwócona)

W warunkach występujących po WHERE można stosować:  

  • operatory porównania =, >=, > itp.
  • operatory logiczne AND i OR
  • do porównywania łańcuchów można stosować polecenie LIKE akceptujące wzorce napisów, w których znak ’_’ zastępuje dowolną literę, zaś znak ’%’ zastępuje dowolny ciąg znaków

Np.:

SELECT * FROM osoby WHERE nazwisko LIKE 'A%'

zwróci z imie, nazwisko i wiek (wszystkie dane - *) tych osób, których nazwisko rozpoczyna się na literę A

W "warunkach" można używać również operatora BETWEEN, który pozwala wybierać dane z określonego zakresu, np.:

SELECT * FROM osoby WHERE wiek BETWEEN 18 AND 30

zwróci rekordy z osobami o wieku od 18 do 30 lat. Jest to równoważne z zapisem:

SELECT * FROM osoby WHERE wiek > 18 AND wiek < 30