Site icon Java blog

SQL #2: tworzenie schematu, zapytań i edycja danych

sql crud

Język SQL (ang. Structured Query Language) jest rodzajem deklaratywnego języka, który powstał w latach 70-siątych, do obsługi danych w bazach. Język ten w swojej istocie miał być intuicyjny i prosty, tak aby maksymalnie ułatwić programiście pracę na bazie danych.

Tworzenie schematu

CREATE DATABASE – tworzenie bazy danych

CREATE DATABASE 'mydb';

CREATE TABLE – tworzy pojedynczą tabelę. W najprostszym przypadku wystarczy po prostu wypisać listę kolumn wraz z ich typami. Są one podobne do większości typów znanych z innych języków programowania*. Opcjonalnie można dodać wartość domyślną oraz opcję czy kolumna może być NULL czy nie. Na końcu zawsze pamiętaj o wskazaniu klucza głównego za pomocą klauzuli PRIMARY KEY.

CREATE TABLE IF NOT EXISTS 'osoby' (
  'id' INT(11) NOT NULL,
  'imie' INT(11) NULL DEFAULT NULL,
  'nazwisko' INT(11) NULL DEFAULT NULL,
  PRIMARY KEY ('id'));

CREATE INDEX – osobną kwestią jest tworzenie indeksów. Indeks to pewnego rodzaju wskaźnik w tabeli, który przyśpiesza wyszukiwanie danych szukanych po kolumnie, na której został założony. Domyślnie każdy klucz główny i obcy posiadają nałożony indeks. Możesz go jednak dodatkowo założyć na kolumnie, którą często wykorzystujesz w swoich zapytaniach.

CREATE INDEX 'index_name'
ON 'osoba'('nazwisko');

ALTER – umożliwia wykonanie operacji na strukturze istniejącej tabeli takie jak: dodawnie, usuwanie, zmiana nazwy, zmiana typu danych kolumny, a także dodawanie, usuwanie indexu dla kolumny.

ALTER TABLE 'nazwa_tabeli'
ADD/MODIFY/DROP/CHANGE 'nazwa_kolumny' typ_danych

Zapytania do bazy

Zapytania do bazy wykonywane są za pomocą słowa kluczowego SELECT, po którym wskazuje się jakie kolumny chcesz przejrzeć. SELECT * pokazuje wszystkie kolumny w tabeli. Można wykonać ograniczenie wyników poprzez filtrowanie danych za pomocą klauzuli WHERE.

SELECT 'imie','nazwisko' FROM 'osoby'
[WHERE 'nazwa_kolumny' operator 'wartość']

Modyfikowanie danych

INSERT INTO – pozwala na wstawianie nowych wartości do tabeli.

INSERT INTO 'osoby' ('imie','nazwisko')
VALUES ('wartość','wartość2')

UPDATE – pozwala na zmianę, aktualizację wartości kolumny w tabeli.

UPDATE 'nazwa_tabeli'
SET 'nazwa_kolumny'='wartość'
[WHERE 'nazwa_kolumny' operator 'wartość']

DELETE FROM – pozwala na usunięcie rekordów z tabeli.

DELETE FROM 'nazwa_tabeli'
[WHERE 'nazwa_kolumny' operator 'wartość']

DROP – pozwala na usunięcie indexów, tablic, baz danych.

DROP DATABASE/TABLE/INDEX 'nazwa'

*Pełna lista typów kolumn dostępnych dla bazy PostgreSQL: https://www.postgresql.org/docs/9.5/datatype.html

Exit mobile version