Charakterystyka składni języka SQL

KOMENTARZE

- liniowy to podwójny znak myślnika "--"

- blokowy (obejmuje kilka wierszy). Początek bloku to " /* ", a koniec bloku to " */ ".

OPERATOR KONKATENCJI

Pozwala na łąćzenie ze sobę ciągów, atrybutów, itp.. Operator ten to " + ".

np.: SELECT ('abc' + 'def'); uzyskamy "abcdef"

LITERAŁY

Czyli stałe. (Wszystkie cyfry, ciągi znaków i daty, jeżeli nie są identyfikatorami, są traktowane jako stałe. W języku SQL ciągi znaków umieszcza się w apostrofach)

SŁOWA KLUCZOWE

Czyli wyrazy interpretowane przez serwer bazodanowy w określony sposób. Słowa kluczowe to zastrzeżone, mające ściśle określone znaczenie ciągi znaków. Należą do nich instrukcje (SELECT, CREATE) i klauzule (WHERE,JOIN) języka SQL, nazwy typów danych (INTEGER, CHAR), nazwy funkcji systemowych (ISNUAL, ABS) oraz terminy zarezerwowane dla przyszłego użycia w danym serwerze bazodanowym.

OPERATORY

odgrywają rolę spójników. Niektóre z nich mogą — ale nie powinny, bo instrukcje z nimi są czytelniejsze — być zastąpione odpowiednimi funkcjami. Operatory dzielą się arytmetyczne, znakowe, logiczne, porównania i dodatkowe, charakterystyczne dla języka SQL).

OPERATORY
Arytmetycznyiloczyn*
iloraz/
modulo%
suma+
różnica-
Znakowekonkatencja+ lub ||
dowolna liczba znaków%
zastępuje jeden znak-
LogicznekoniunkcjaAND
alternatywaOR
negacjaNOT
Porównaniarówny=
mniejszy <
większy >
mniejszy lub równy <=
większy lub równy >=
różny lub nie równy <> lub !=
Operatory relacjiprzynależność do zbioru zamkniętegoBETWEN n
AND n
przynależność do zbioruIN(..)
dopasowanie do wzorcaLIKE
dopasowanie do wyrażenia regularnegoREGEXP,
RLIKE
Sprawdzenie występowania wartości NULLIS NULL

SŁOWA KLUCZOWE

Podobnie jak w innych językach programowania są to słowa które nie mogą być użyte jako słowa klucze, ponieważ są zareserwowane (mają już określone co najmniej jedno znaczenie).
Np. identyfikator atrybutów nie może mieć nazwy "FROM", "SELECT", "CHAR", itp..

Przed wyborem identyfikatora kolumny należy sprawdzić dokumentację poszczególnych systemów bazodanowych, czy nie zamieszczono w niej słowa klucza.


TYPY DANYCH

Nazwa Opis
TINYINT1-bajtowe pole, przechowujące wartości całkowite bez znaku z przedziału od 0 do 255 lub ze znakiem z przedziału od -127 do 127
SMALLINT2-bajtowa wartość całkowita. Zakres wartości bez znaku od 0 do 65 535 lub ze znakiem od -32 768 do 32 768
MEDIUMINT3-bajtowa wartość całkowita. Zakres wartości od 0 do 16 777 215 lub ze znakiem od -8 388 608 do 8 388 608
INT4-bajtowa wartość całkowita. Zakres wartości ze znakiem od -2 147 483 648 do 2 147 483 647 lub bez znaku od 0 do 4 294 967 295
BIGINT8-bajtowa wartość całkowita. Typ BIGINT jest używany podczas przeprowadzania obliczeń. Stosując pola tego typu we własnej bazie danych należy uważać, aby ich wartości nie były zbyt duże, ponieważ użyte w obliczeniach mogą doprowadzić do błędu przepełnienia
FLOAT(dokładność)Liczba zmiennoprzecinkowa z precyzją wyrażaną liczbą bajtów. Dwie wartości akceptowane jako precyzja to 4 i 8. Użycie 4 tworzy liczbę zmiennoprzecinkową o pojedynczej precyzji, natomiast 8 - liczbę zmiennoprzecinkową o podwójnej precyzji. Szczegóły dotyczące tych dwóch typów danych opisują pola FLOAT i DOUBLE
FLOAT4-bajtowa liczba zmiennoprzecinkowa z zakresu od -1.402823466E+38 do -1.175494351E-38, 0 i 1.175494351E-38 do 3.402823466E+38
DOUBLE8-bajtowa liczba zmiennoprzecinkowa przechowująca wartości z zakresu od -1.7976931348623157E+308 do -2.2250738585072014E-308, 0, i 2.2250738585072014E-308 do 1.7976931348623157E+308
DECIMALPole zmiennoprzecinkowe o takiej samej pojemności jak DOUBLE. Liczba, zamiast zostać zredukowana do postaci szesnastkowej, pamiętana jest w formacie znakowym
DATEData (bez czasu), wyświetlana w formacie RRRR-MM-DD. Akceptuje daty w różnych formatach z zakresu od 1000-01-01 do 9999-12-31
DATETIMEPole daty z czasem dnia wyświetlane według formatu RRRR-MM-DD GG:MM:SS. Może przechowywać wartości z zakresu od 1000-01-01 00:00:00 do 9999-12-31 23:59:59
TIMESTAMPData i czas liczony od początku epoki systemu UNIX, 1970-01-01 00:00:00, do momentu kiedy 32-bitowe pole przechowujące liczbę sekund, jaka upłynęła od tej daty ulegnie przepełnieniu w roku 2037. Jeśli polu temu nie została nadana wartość przez wyrażenie INSERT lub UPDATE, domyślnie otrzyma ono wartość daty bieżącej
TIMECzas mieszczący się w przedziale od -838:59:59 do 838:59:59
YEARRok. Dozwolone wartości to przedział od 1901 do 2155 oraz wartość 0000. MySQL wyświetla wartość typu YEAR w formacie RRRR
CHARPole znakowe o stałej długości z zakresu od 1 do 255 bajtów. Po wstawieniu wartości puste miejsca pola CHAR są uzupełniane z prawej strony spacjami
VARCHARPole znakowe o zmiennej długości z zakresu od 1 do 255 bajtów. Zajmowany jest jedynie taki obszar pamięci, jakiego wymaga wartość wstawiona w to pole
TINYBLOB, TINYTEXTKolumna binarna lub tekstowa o rozmiarze nie przekraczającym 255 bajtów
BLOB, TEXTKolumna binarna lub tekstowa o rozmiarze nie przekraczającym 65 535 bajtów
MEDIUMBLOB, MEDIUMTEXTKolumna binarna lub tekstowa o rozmiarze nie przekraczającym 16 777 215 bajtów
LONGBLOB, LONGTEXTKolumna binarna lub tekstowa o rozmiarze nie przekraczającym 4 294 967 295 bajtów
ENUM('elem1', 'elem2', ...)Kolumna łańcuchowa, która może zawierać jedną z wartości wymienionych na liście wartości w definicji tej kolumny
SET('elem1', 'elem2', ...)Kolumna łańcuchowa, która może zawierać dowolną liczbę wartości spośród wartości występujących na liście w definicji tej kolumny

ZASADY TWORZENIA INDENTYFIKATORÓW


⇒ Spis treści ⇐

⇐ PREV NEXT ⇒