- liniowy to podwójny znak myślnika "--"
- blokowy (obejmuje kilka wierszy). Początek bloku to " /* ", a koniec bloku to " */ ".
Pozwala na łąćzenie ze sobę ciągów, atrybutów, itp.. Operator ten to " + ".
np.: SELECT ('abc' + 'def'); uzyskamy "abcdef"
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)
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.
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
Arytmetyczny | iloczyn | * |
iloraz | / | |
modulo | % | |
suma | + | |
różnica | - | |
Znakowe | konkatencja | + lub || |
dowolna liczba znaków | % | |
zastępuje jeden znak | - | |
Logiczne | koniunkcja | AND |
alternatywa | OR | |
negacja | NOT | |
Porównania | równy | = |
mniejszy | < | |
większy | > | |
mniejszy lub równy | <= | |
większy lub równy | >= | |
różny lub nie równy | <> lub != | |
Operatory relacji | przynależność do zbioru zamkniętego | BETWEN n AND n |
przynależność do zbioru | IN(..) | |
dopasowanie do wzorca | LIKE | |
dopasowanie do wyrażenia regularnego | REGEXP, RLIKE | |
Sprawdzenie występowania wartości NULL | IS NULL |
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.
Nazwa | Opis |
---|---|
TINYINT | 1-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 |
SMALLINT | 2-bajtowa wartość całkowita. Zakres wartości bez znaku od 0 do 65 535 lub ze znakiem od -32 768 do 32 768 |
MEDIUMINT | 3-bajtowa wartość całkowita. Zakres wartości od 0 do 16 777 215 lub ze znakiem od -8 388 608 do 8 388 608 |
INT | 4-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 |
BIGINT | 8-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 |
FLOAT | 4-bajtowa liczba zmiennoprzecinkowa z zakresu od -1.402823466E+38 do -1.175494351E-38, 0 i 1.175494351E-38 do 3.402823466E+38 |
DOUBLE | 8-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 |
DECIMAL | Pole zmiennoprzecinkowe o takiej samej pojemności jak DOUBLE. Liczba, zamiast zostać zredukowana do postaci szesnastkowej, pamiętana jest w formacie znakowym |
DATE | Data (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 |
DATETIME | Pole 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 |
TIMESTAMP | Data 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 |
TIME | Czas mieszczący się w przedziale od -838:59:59 do 838:59:59 |
YEAR | Rok. Dozwolone wartości to przedział od 1901 do 2155 oraz wartość 0000. MySQL wyświetla wartość typu YEAR w formacie RRRR |
CHAR | Pole 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 |
VARCHAR | Pole 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, TINYTEXT | Kolumna binarna lub tekstowa o rozmiarze nie przekraczającym 255 bajtów |
BLOB, TEXT | Kolumna binarna lub tekstowa o rozmiarze nie przekraczającym 65 535 bajtów |
MEDIUMBLOB, MEDIUMTEXT | Kolumna binarna lub tekstowa o rozmiarze nie przekraczającym 16 777 215 bajtów |
LONGBLOB, LONGTEXT | Kolumna 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 |