GWARANTOWANE TERMINY
Jesteś tutaj: strona głównastrefa wiedzy SQL podstawy - składnia i zastosowanie
MENU

SQL podstawy - składnia i zastosowanie


Kategoria: Analiza danych, Kurs SQL
10Jun

Czym jest język SQL

Język SQL (skrót od Structured Query Language – strukturalny język zapytań) – to język umożliwiający tworzenie zapytań do relacyjnych baz danych. Przy czym zapytania te można podzielić na wiele typów:

  • SQL DML (ang. Data Manipulation Language – „język manipulacji danymi”) – przy pomocy tych poleceń jesteśmy w stanie dodawać, aktualizować oraz kasować dane w bazie danych (dokładniej w tabelach),
  • SQL DDL (ang. Data Definition Language – „język definicji danych”) – ten typ umożliwia tworzenie, kasowanie i zmianę obiektów, w szczególności tabel,
  • SQL DCL (ang. Data Control Language – „język kontroli nad danymi”) – służy do nadawania uprawnień do obiektów. Ta część języka SQL nie jest potrzebna dla „zwykłego użytkownika”. Ten typ jest dla osób, które są specjalistami od zarządzania bazą danych. Najczęściej będzie to administrator,
  • SQL DQL (ang. Data Query Language – „język definiowania zapytań”) – to główna część SQL-a, bo to właśnie ten typ jest wykorzystywany najczęściej a to dlatego, że tutaj zebrane są polecenia wybierające dane.

Zastosowanie języka SQL

Język SQL można stosować praktycznie we wszystkich relacyjnych bazach danych. W szczególności:

  • SQL Server,
  • Oracle,
  • MySQL,
  • PostgreSQL.

Warto pamiętać, że każda baza danych ma swoją własną odmianę języka SQL. Idealnym przykładem może być zapytanie wybierające 5 pierwszych rekordów. Nie wchodząc w szczegóły poniżej przedstawiono zapytania dla różnych baz danych:

Wersja SQL Server

SELECT TOP 5 *

FROM miejscowosci

Wersja Oracle

SELECT *

FROM miejscowosci

WHERE rownum <= 5

Wersja MySQL

SELECT *

FROM miejscowosci

LIMIT 5

Jak widać na powyższym przykładzie część kodu jest wspólna a część jest zapisem, który jest charakterystyczny dla wybranej bazy danych.

SQL wykorzystywanego w bazie Microsoft SQL Server to język T-SQL, baza z firmy Oracle ma język PL/SQL. Oczywiście każda baza danych ma swój własny język SQL, ale to co jest najważniejsze to to, że znając język SQL jesteśmy w stanie wykonywać podstawowe zapytania w bazie danych. 

Przykład praktyczny

W przykładzie praktycznym zobaczymy jak utworzyć tabelę, w której można przechowywać dane dotyczące wydatków. Dodamy kilka rekordów i napiszemy zapytanie, które wyświetli łączną kwotę. Pierwszym etapem będzie ściągnięcie aplikacji przy pomocy której będzie można wykonać powyższe czynności.

Na stronie: https://www.sqlite.org/download.html proszę ściągnąć sqllite tools.

Po rozpakowaniu należy uruchomić aplikację sqlite3.exe. Pojawi się okno, w którym można pisać zapytania w języku SQL.

Na początek utworzymy tabelę wydatki. Tabela jest miejscem przechowywania danych. Wydatki będą miały kolumny: 

  • data wydatku, w którym będą przechowywane dane tekstowe w postaci daty
  • nazwa, gdzie będzie przechowywany tekst
  • kwota. W tej kolumnie wykorzystywane będą wartości liczbowe wymierne.

Poniżej kod SQL, który pozwala na utworzenie tabeli (tekst jest sformatowany, aby łatwiej było przepisać).

CREATE TABLE wydatki(

   data_wydatku TEXT,

   nazwa TEXT

   kwota REAL

);


Polecenie CREATE TABLE wydatki tworzy tabelę wydatki. W nawiasach okrągłych podajemy jakie nazwy kolumn powinna posiadać tabela oraz ich typ danych.

Baza danych SQLite ma następujące typy danych:

  • INTEGER. Przechowuje wartości liczbowe całkowite np. 7
  • REAL. Wartości wymierne np. 2.5
  • TEXT. Wartości tekstowe

Po utworzeniu tabeli wydatki można wstawić kilka rekordów. Załóżmy, że chcemy wprowadzić wydatek, który powstał 11 stycznia 2021, jego nazwa to Chleb a kwota, jaka została zapłacona to 3.99. 

INSERT INTO wydatki(data_wydatku, nazwa, kwota)

VALUES('2021-01-11', 'Chleb', 3.99);

Polecenie INSERT INTO pozwala na wstawienie rekordu. Po tych dwóch słowach należy umieścić nazwę uzupełnianej tabeli. W nawiasach okrągłych podajemy kolumny oddzielając je przecinkiem. Po słowie kluczowym VALUES w nawiasach okrągłych podajemy wartości, które chcemy wstawić do bazy.

Po umieszczeniu rekordu w bazie możemy sprawdzić czy go dodaliśmy wykorzystując polecenie wybierające rekordy:

SELECT * FROM wydatki; 

Po zaakceptowaniu tego polecenia powinniśmy zobaczyć rekord:

Polecenie SELECT pozwala nam wybrać rekordy z bazy danych. Gwiazdka oznacza, że jesteśmy zainteresowani wszystkimi kolumnami. Po słowie kluczowym FROM podaliśmy nazwę tabeli, z której chcemy pobrać dane. Powyższe zapytanie jest jednym z najbardziej podstawowych zapytań w języku SQL.

Jako ćwiczenie proponujemy dodać kolejne rekordy:

data wydatku

nazwa

kwota

2021-02-23

Woda

2.89

2021-03-13

Myszka

35.63

2021-04-05

Jabłko

4

Poniżej znajdują się polecenia INSERT:

INSERT INTO wydatki(data_wydatku, nazwa kwota)

VALUES('2021-02-23', 'Woda', 2.89);

INSERT INTO wydatki(data_wydatku, nazwa kwota)

VALUES('2021-03-13', 'Myszka', 35.63);

INSERT INTO wydatki(data_wydatku, nazwa kwota)

VALUES('2021-04-25', 'Jabłko', 4);

Po wykonaniu polecenia SELECT mamy następujące polecenia:

Oczywiście głównym celem tworzenia zapisu wydatków jest sprawdzenie jaką łączną kwotę wydaliśmy na wydatki. Oto polecenie, które realizuje te zadanie:

SELECT SUM(kwota) FROM wydatki;

W tym przypadku po słowie SELECT zastosowaliśmy funkcję agregującą sumy, dzięki której jesteśmy w stanie dodać wszystkie rekordy z kolumny o nazwie kwota.

Jakie przykładowe zadania możemy wykonać na naszej tabeli?

  • Wyświetl wydatki, których kwota jest większa niż 10
  • Pokaż wydatki posortowane alfabetycznie od A do Z wg nazwy
  • Uporządkuj rekordy z tabeli wydatki wg kwoty od największej do najmniejszej wartości
  • W jakim dniu tygodnia najczęściej robiliśmy zakupy?
  • Jaką kwotę wydaliśmy w poszczególnych latach oraz miesiącach?
  • Wyświetl wydatki, których nazwa rozpoczyna się od litery m
  • Na jaki wydatek przeznaczyliśmy najmniej pieniędzy?
  • Na co wydaliśmy jednorazowo największą kwotę?
  • Jakie wydatki kończą się na literę a w nazwie?
  • Jaka jest średnia wartość wydatku wg nazwy?
  • Kiedy najwcześniej wydaliśmy kwotę poniżej 5 zł?

Tak niewielka baza danych, a tak wiele pytań. Nie sposób wymienić je wszystkie.

Pomyśl, na ile sposobów można przeanalizować większy zbiór danych.

 

Chcesz wiedzieć więcej? Zapraszamy Cię do ciekawej przygody, gdzie tylko wyobraźnia ogranicza Twoje możliwości.

 

Autorem artykułu jest Grzegorz Plak, trener Cognity.

Zapraszamy na nasze szkolenia: 

 

Wybrani Klienci:

Ten serwis używa plików cookies. Brak zmiany ustawień przeglądarki oznacza zgodę na ich używanie.
Więcej informacji o plikach cookies znajdziesz tutaj
Kliknij ZGADZAM SIĘ, aby ta informacja nie wyświetlała się ponownie
Cognity.pl