Tworzenie nowej tabeli – create table

Kod SQL odpowiedzialny za tworzenie tabeli:

create table nazwa_tabeli(
definicja_pól_tabeli
)

Nazwa tabeli jest ciągiem znaków, pod jakim będzie widoczna tabela w bazie danych.

Przykład:

Utwórzmy tabelę adresses:

create table addresses(
  id int primary key,
  name varchar(100),
  description varchar(1000)
)

Po wykonaniu tego skryptu, jeśli nie wystąpił żaden błąd, możemy zobaczyć powstałą tabelę:

Stworzona tabela

Kasowanie bazy danych – drop database

Kod SQL odpowiedzialny za kasowanie istniejącej bazy danych:

drop database nazwa_tabeli

Przykład:

Aby skasować bazę shop wystarczy wykonać poniższy kod:

drop database shop

Uwaga: Kasowanie bazy danych jest nieodwracalne i może spowodować utratę ważnych danych.

Przełączanie się miedzy bazami – use

Komendą, która służy do przełączania się między bazami danych jest use:

use nazwa_bazy_danych

Przykład MsSQL – SSMS:

Jeśli na naszej bazie istnieje baza o nazwie books, to poniższy kod przełączy aktywną bazę na books:

use books
Zmiana aktywnej bazy z poziomu interfejsu SSMS:

Korzystając z SSMS możemy wybrać aktywną bazę danych z poziomu interfejsu, domyślnie kontrolka do wyboru bazy znajduje się w lewym górnym rogu, została zaznaczona na żółto:

Wybór bazy danych w SSMS

Tworzenie bazy danych – create database

Do utworzenia nowej bazy danych służy następujące polecenie:

create database nazwa_tworzonej_bazy_danych
Przykład:
create database address_book

Po uruchomieniu tego kodu, jeśli nie wystąpił żaden błąd, to zostanie utworzona nowa baza danych:

Tworzenie bazy danych

Kurs podstaw SQL cz. 1

Czym jest język SQL?

Język SQL (ang. Structured Query Language) jest strukturalnym językiem zapytań, który jest wykorzystywany do wykonywania operacji na relacyjnej bazie danych. Każda operacja jest nazywana zapytaniem lub kwerendą wykonywaną poprzez silnik bazodanowy.

Język SQL jest językiem deklaratywnym, tzn. nie interesuje nas, jak dane zapytanie zostanie wykonane poprzez silnik bazodanowy, tylko interesuje nas efekt jaki chcemy uzyskać.

Przykład: Jeśli potrzebujemy zwrócić liczbę rekordów w danej tabeli, to nie ma dla nas znaczenia, czy silnik bazy danych wykorzysta do tego indeks obecny na tabeli, czy będzie wykonywał operacje bezpośrednio na tabeli.

Wyróżniamy różne typy baz danych oraz co za tym idzie różne silnik bazodanowe, skupię się tutaj na bazach relacyjnych, ponieważ do takich ma sens stosowanie języka SQL. Bazy relacyjne to takie, w których dane są poukładane w tabelach, a dane są połączone poprzez więzy integralności w postaci kluczy obcych, ale nie jest to wymagane.

W dalszych rozważaniach będę wykorzystywał MsSQL w wersji 2019 oraz SSMS w wersji 18.5

Zapytania w języku SQL można podzielić na następujące grupy:

  • SQL DQL
  • SQL DML
  • SQL DDL
  • SQL DCL

SQL DQL

ang. Data Query Language – język definiowania zapytań. W tej części można wyszczególnić jedną operację, odpowiedzialną za pobieranie danych z bazy. Operacja jaka jest wykorzystywana do tego, to:

  • select

SQL DML

ang. Data Manipulation Language – język manipulacji danymi. Odpowiada za manipulację danymi w tabelach bazy danych. Operacjami które możemy wyszczególnić to:

  • insert – wstawianie nowych wierszy danych do tabel
  • update – aktualizacje istniejących rekordów
  • delete – odpowiada za kasowanie rekordów

SQL DDL

ang. Data Definition Language – język definicji danych. Jest wykorzystywany podczas tworzenia oraz modyfikacji obiektów/struktur w bazie danych. Możemy wyszczególnić:

  • create – podczas tworzenia nowych struktur, takich jak np. tabele, indeksy, widoki
  • alter – do modyfikowania istniejących elementów
  • drop – do usuwania obiektów w bazie danych

SQL DCL

ang. Data Control Language – język kontroli nad danymi. Służy do definiowania uprawnień oraz dostępów w bazie danych. W tej części możemy wyszczególnić:

  • grant – nadawania uprawnień do wykonania/dostępu do obiektu
  • revoke – odbieraniu uprawnień
  • deny – zabraniania dostępu

Język SQL jest językiem interpretowanym, ma to zalety:

  • istnieje możliwość tworzenia zapytań na podstawie wielu czynników, nieznanych podczas tworzenia kodu.
  • można tworzyć skrypt „w locie” i wykonać go bez większych ograniczeń.
  • łatwość edycji oraz zrozumienia.

ale można też wyszczególnić wady:

  • niektóre błędy będą widoczne dopiero po wykonaniu zapytania, np. problemy z strukturą, danymi.
  • powoduje to problemy z bezpieczeństwem, co w skrajnym przypadku może doprowadzić do skasowania bazy produkcyjnej poprzez osobę nieupoważnioną.

Witamy na stronie!

Jest to blog o tworzeniu oraz rozwoju oprogramowania. Blog ma na celu ugruntowanie wiedzy autora, pełnić rolę wizytówki oraz stanowić kompendium wiedzy dla innych.

Plany na najbliższe tygodnie/miesiące:

  1. Przygotowanie kursu podstaw SQL.
  2. Przygotowanie kursu podstaw języka Java.
  3. Zebranie obecnych prac autora bloga które warte są publikacji.

Jeśli chcesz wesprzeć tworzenie bloga, udostępnij tą stronę.

pozdrawiam