Datové typy a jejich modifikátory, vyhrazená slova jazyka SQL
Číselné datové typy | počet bytů | se znaménkem | bez znaménka (UNSIGNED) |
TINYINT | 1 | -128 - 127 | 0 – 255 |
SMALLINT | 2 | -32768 - 32767 | 0 – 65535 |
MEDIUMINT | 3 | -8 388 608 - 8 388 607 | 0 – 16 777 215 |
INT | 4 | -2 147 483 648 – 2 147 483 647 | 0 – 4 294 967 295 |
BIGINT | 8 | lze odvodit | lze odvodit |
FLOAT (M,D) | 4 | liší se podle použitých hodnot |
DOUBLE(M,D) | 8 | liší se podle použitých hodnot |
DECIMAL(M,D) | M + 2 | liší se podle použitých hodnot |
AUTO_INCREMENT automatické číslo, hodnota prvního záznamu bude 1, další se automaticky zvyšují o 1, nelze vložit už jednou použitou maximální hodnotu i když byl mezitím daný záznam smazán.
Při vkládání nového záznamu můžeme vložit hodntu NULL, 0, můžeme hodnotu vynechat, můžeme zadat číslo, které dosud zadáno nebylo.
V každé tabulce může být pouze jedno pole Auto_increment a musí být deklarováno jako celé číslo, jeho hodnota nemůže překročit daný rozsah.
Modifikátor ZEROFILL se používá k zobrazení vedoucích nul
INT(8) ZEROFILL.......číslo 23 bude zobrazeno jako číslo 00000023
Textové datové typy
Textové datové typy | maximální velikost | přidělená paměť | |
CHAR(X) | 255 byte | X byte | pole pevné délky |
VARCHAR(X) | 255 byte | X+1 byte | pole proměnné délky |
TINYTEXT | 255 byte | X+1 byte |
TINYBLOB | 255 byte | X+2 byte |
TEXT | 65535 byte X+2 byte | pole | proměnné délky |
BLOB | 65535 byte X+2 byte | pole | proměnné délky |
MEDIUMTEXT | 1,6 MB | X+3 byte |
MEDIUMBLOB | 1,6 MB | X+3 byte |
LONGTEXT | 4,2 GB X+4 byte |
LONGBLOB | 4,2 GB X+4 byte |
Modifikátory
Modifikátory |
použití |
AUTO_INCREMENT | všechny INT | automatické číslování | |
BINARY | CHAR VARCHAR | ukládání textových informací jako binárních řetězců |
DEFAULT | vše kromě BLOB, TEXT | umožňuje určit hodnotu pole, jehož hodnota nebude při pokusu o uložení známa |
NOT NULL | všechny | pole musí obsahovat hodnotu |
NULL | všechny | pole mohou obsahovat prázdnou hodnotu |
PRIMARY KEY | všechny | |
UNIQUE | všechny | zamezení zápisu duplicitních klíčů do sloupců s omezující podmínkou jedinečnosti |
UNSIGNED | číselné |
ZEROFILL | číselné |
Datové typy data a času
DATETIME | YYY-MM-DD HH:MM:SS |
DATE | YYY-MM-DD |
TIME | HH:MM:SS
|
YEAR | YYYY | 1901 - 2155 |
TIMESTAMP | Mění se 1970 – 2037 |
Funkce pro práci s časem
MONTHNAME(datum) | název měsíce |
DAYNAME(datum) | název dne v týdnu |
DAYOFYEAR(datum) | kolikátý den v roce |
DAYOFMONTH(datum) | kolikátý den v měsíci |
DAYOFWEEK(datum) | kolikátý den v týdnu (neděle = 1) |
WEEKDAY(datum) | index dne v týdnu (pondělí = 1) |
Aktuální datum a čas
NOW(), SYSDATE(), CURENT_TIMESTAMP,
CURDATE(), CURRENT_DATE
CURTIME(), CURRENT_TIME
- ENUM - výčtový typ, položka nabývá pouze jedné z hodnot v daném seznamu
- SET - množina až 64 položek ze jmenovitého seznamu
u typu ENUM píšeme do sloupce délka jednotlivé hodnoty v apostrofech oddělené čárkou např u sloupce nakladatel 'Albatros','Kramerius','Jiný'
u typu SET obdobně píšeme např u sloupce druh 'dětská','historický román','scifi','fantasy'
(u typu SET může být zaškrtnuto více hodnot – označujeme pomocí CTRL+kliknutí myši)
Vyhrazená slova jazyka SQL
CREATE
ALTER
INSERT
SELECT
FROM
ON
ORDER BY
JOIN
CROSS JOIN
RIHGT JOIN
LIMIT
LIKE
DROP
DELETE
UPDATE
SET
INTO
WHERE
GROUP BY
LEFT JOIN
FULL JOIN
AND
OR
AS