cognity

SQL podstawy - składnia i zastosowanie

W tym artykule dowiesz się:

  • czym jest język SQL,
  • gdzie można stosować język SQL,
  • przykładowe zadania, które można wykonać przy pomocy języka SQL.
06 września 2022
blog

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.

Kurs SQL podstawowy - praktyczne wykorzystanie języka SQL i budowa baz danych
początkujący
cena
od 1090 zł + VAT dla szkoleń otwartych
szkolenia zamknietę
Zapytaj o cenę dla szkoleń zamkniętych
Kurs SQL podstawowy - praktyczne wykorzystanie języka SQL...
Kurs Język SQL dla Azure SQL - praca w zakresie analizy i raportowania
początkujący
cena
od 3900 zł + VAT dla szkoleń otwartych
szkolenia zamknietę
Zapytaj o cenę dla szkoleń zamkniętych
Kurs Język SQL dla Azure SQL - praca w zakresie analizy i raportowania...
Kurs Front-end Developer - zagadnienia z zakresu programowania w języku PHP, elementy HTML5 i CSS i  efektywne wykorzystanie podstawowej znajomości JavaScript
początkujący
cena
od 3900 zł + VAT dla szkoleń otwartych
szkolenia zamknietę
Zapytaj o cenę dla szkoleń zamkniętych
Kurs Front-end Developer - zagadnienia z zakresu programowania w języku PHP...
Kurs Oracle SQL, PL/SQL podstawowy - praktyczne zastosowanie oprogramowania, programowanie baz danych  i zarządzanie obiektami baz danych
początkujący
cena
od 3300 zł + VAT dla szkoleń otwartych
szkolenia zamknietę
Zapytaj o cenę dla szkoleń zamkniętych
Kurs Oracle SQL, PL/SQL podstawowy - praktyczne zastosowanie oprogramowania...
Kurs SQL Server - tworzenie skryptów, zapytań i poleceń w  T-SQL - poziom od podstaw
początkujący
cena
od 3300 zł + VAT dla szkoleń otwartych
szkolenia zamknietę
Zapytaj o cenę dla szkoleń zamkniętych
Kurs SQL Server - tworzenie skryptów, zapytań i poleceń w T-SQL...
Kurs SQL Oracle - zarządzanie danymi na serwerze SQL i  obsługa bazy Oracle - poziom od podstaw
początkujący
cena
od 3300 zł + VAT dla szkoleń otwartych
szkolenia zamknietę
Zapytaj o cenę dla szkoleń zamkniętych
Kurs SQL Oracle - zarządzanie danymi na serwerze SQL...
Kurs SQL weekendowy - wykorzystanie języka SQL do pracy z danymi i tworzenia baz
początkujący
cena
od 3000 zł + VAT dla szkoleń otwartych
szkolenia zamknietę
Zapytaj o cenę dla szkoleń zamkniętych
Kurs SQL weekendowy - wykorzystanie języka SQL do pracy z danymi...
icon

Formularz kontaktowyContact form

Imię *Name
NazwiskoSurname
Adres e-mail *E-mail address
Telefon *Phone number
UwagiComments