MYSQL je databázový server a je asi nejrozšířenější na unix-like systémech.Silně doporučuji nastavit rootovské heslo a snažit se jej nezapomenout.
Nechá se sice dostat zpět,ale za tu pakárnu to nestojí.
nazev-TB.frm | soubory s příponou .frm obsahují schéma TB |
nazev-DB.opt | soubory s příponou .opt obsahují nastavení databáze |
nazev-TB.MYD | soubory s příponou .MYD obsahují data MYISAM tabulek |
nazev-TB.MYI | soubory s příponou .MYI obsahují indexy MYISAM tabulek |
nazev-TB.ibd | soubory s příponou .ibd obsahují data a indexy InnoDB tabulek |
nazev-TB.TRG | soubory s příponou .TRG zdroják tabulek definovaných triggery |
Celá čísla | |
TINYINT(m) | rozsah čísel od -128 po 127. Zabírá 8 bajtů |
SMALLINT(m) | rozsah čísel od -32 768 po 32 767. Zabírá 16 bajtů |
MEDIUMINT(m) | rozsah čísel od -8 388 608 po 8 388 607. Zabírá 24 bajtů |
INT(m) nebo INTEGER(m) | rozsah čísel od -2 147 483 684 po 2 147 483 683. Zabírá 32 bajtů |
SERIAL(m) | rozsah čísel +- 9,22 x 10 na 18. Zabírá 64 bajtů |
Pro celá čísla-(m) je nepovinný údaj, ktery určuje při příkazu SELECT šířku sloupce-neovlivnuje rozsah hodnot při ukládání | |
FLOAT(m,d) | 8místná přesnost. Zabírá 4 bajty |
DOUBLE(m,d) | 16místná přesnost. Zabírá 8 bajtů |
Pro destinná čísla-(m,d) jsou nepovinné údaje, které určují při příkazu SELECT počet čísel před a za desetinnou čárkou- m neovlivnuje rozsah hodnot při ukládání, ale d zaokrouhluje | |
DECIMAL(p,s) nebo NUMERIC nebo DEC | libovolný počet číslic.Zabírá 1 bajt na číslici + 2bajty na režii |
Pro destinná čísla s pevnou řádovou čárkou-(p) je celkový počet číslic a (s)je počet číslic za desetinnou čárkou. (5,2) tedy znamená rozsah od -99,99 do 999,99. Mínus je také jeden znak. Pokud nezadáme rozsah, MYSQL použije (10,0) |
DATE | datum ve tvaru 2009-01-30, rozsah od 1001-01-01 do 999-12-31. Zabírá 3 bajty | ||||||||||||||
TIME | čas ve tvaru 23:50:01, rozsah +- 838:59:59.Zabírá 3 bajty | ||||||||||||||
DATETIME | kombinace DATE a TIME ve tvaru 2009-01-30 23:50:01.Zabírá 8 bajtů | ||||||||||||||
YEAR | rok v rozsahu 1900-2155.Zabírá 1 bajt | ||||||||||||||
TIMESTAMP | vloží aktuální čas při změně záznamu
Formát zobrazení datového typu TIMESTAMP Datový typ Formát zobrazení
|
CHAR(n) | max 255 znaků. Text pevné délky. CHAR(5) vyžaduje v každém záznamu 5 znaků |
VARCHAR(n) | max 65 536 znaků(od verze 5). Text proměnné délky. VARCHAR(50) bude oříznut na 50 znaků |
TINYTEXT | max 255 znaků. Text proměnné délky. |
TEXT | max 2na16 znaků. Text proměnné délky. |
MEDIUMTEXT | max 2na24 znaků. Text proměnné délky. |
LONGTEXT | max 2na32 znaků. Text proměnné délky. |
BIT(n) | (n) je počet bitů, max 64 |
TINYBLOB | max 255 bajtů |
BLOB | max 2na 16 bajtů |
MEDIUMBLOB | max 1,6 MB |
LONGBLOB | max 4,2 GB |
NULL | sloupec může obsahovat hodnotu NULL(default) |
NOTNULL | sloupec NEmůže obsahovat hodnotu NULL |
DEFAULT xxx | Hodnot xxx bude použita jako výchozí, pokud nevložíme jinou. Hodnoty uvádíme v uvozovkách |
DEFAULT CURRENT_TIMESTAPM | u sloupců TIMESTAMP bude vložen aktuální čas, jestliže vkládáme nový záznam |
ON UPDATE CURRENT_TIMESTAPM | u sloupců TIMESTAMP bude vložen aktuální čas, jestliže upravujeme existující záznam |
PRIMARY KEY | Definuje sloupec jako primární klíč |
AUTO_INKREMENT | automaticky navyšuje posloupnost čísel. Musí být zadáno NOT NULL a PRIMARY KEY. Můžeme ještě navíc určit výchozí hodnotu: ...AUTO_INCREMENT=50; |
UNSIGNED | celá čísla budou vložena bez znamének. Pozor-výpočty budou prováděny jako s kladnými čísly |
CHARACTER SET | nazev znakové sady. Pro text zadává znakovou sadu |
Jméno | Uživatelské jméno, pod kterým se přihlašujete. Při přihlašování se uvádí za parametr -u |
Heslo | Při přihlašování se uvádí za parametr -p Po instalaci je dafaultně heslo roota prázdé, je proto třeba jej nastavit pomocí příkazu
set password = password('nejake_heslo'); Pozor, nepoužívejte jméno a heslo do DB stejné jako do systémového účtu. Často se jména a hesla vkládají jako plaintext a pak hrozí kompromitace nejen DB, ale i systémového účtu. |
Jméno hostitele | Je to IP adresa, případně resolvovatelný název MYSQL serveru. V případě že je server i klient na jednom stroji, tento údaj se nemusí uvádět |
SHOW VARIABLES; | vypíše nastavení MYSQL |
STATUS | vypíše aktuálně přihlášeného uživatele a dalších několik údajú o kodování, verzi serveru adt. |
SHOW PRIVILEGES; | zobrazí výpis možných práv |
user | Kontroluje kdo se smí z jakého počítače přihlásit. Obsahuje také globální nastavení(defaltní hodnota je N zakázáno). |
db | Přiřazuje práva k jednotlivým databázím. Aby tato tabulka byla brána v potaz, musí být v tabulce user hodnota N |
tables_priv | Určuje kdo smí přistupovat k jakým tabulkám databáze. Aby tato tabulka byla brána v potaz, musí být v tabulce user hodnota N |
columns_priv | Určuje kdo smí přistupovat k jakým sloupcům tabulky. Aby tato tabulka byla brána v potaz, musí být v tabulce user hodnota N |
host | Rozšiřuje tabulku db informacemi o povolených jménech hostitele (které nejsou přítomné v db-mají tento sloupec prázdný). Jestliže najde odpovídající záznam, nastaví oprávnění z tabulek db a host logickou spojkou AND |
procs_priv | Určuje kdo smí spouštět jednotlivá uložené procedury.Tabulka je nutná jen pro uživatele, kteří nemají globální oprávnění v tabulce user |
Názvy sloupců jsou dostatečně vypovídající na to, aby bylo jasné jaká práva nastavují. Poslední 4 sloupce (začínající na max) udávají následující
| |||||||||
název sloupce | typ | ||||||||
Host | char(60) | ||||||||
User | char(16) | ||||||||
Password | char(45) | ||||||||
Select_priv | enum('N', 'Y') -výchozí N | ||||||||
Insert_priv | enum('N', 'Y') -výchozí N | ||||||||
Update_priv | enum('N', 'Y') -výchozí N | ||||||||
Delete_priv | enum('N', 'Y') -výchozí N | ||||||||
Create_priv | enum('N', 'Y') -výchozí N | ||||||||
Drop_priv | enum('N', 'Y') -výchozí N | ||||||||
Reload_priv | enum('N', 'Y') -výchozí N | ||||||||
Shutdown_priv | enum('N', 'Y') -výchozí N | ||||||||
Process_priv | enum('N', 'Y') -výchozí N | ||||||||
File_priv | enum('N', 'Y') -výchozí N | ||||||||
Grant_priv | enum('N', 'Y') -výchozí N | ||||||||
References_priv | enum('N', 'Y') -výchozí N | ||||||||
Index_priv | enum('N', 'Y') -výchozí N | ||||||||
Alter_priv | enum('N', 'Y') -výchozí N | ||||||||
Show_db_priv | enum('N', 'Y') -výchozí N | ||||||||
Super_priv | enum('N', 'Y') -výchozí N | ||||||||
Create_tmp_table_priv | enum('N', 'Y') -výchozí N | ||||||||
Lock_tables_priv | enum('N', 'Y') -výchozí N | ||||||||
Execute_priv | enum('N', 'Y') -výchozí N | ||||||||
Repl_slave_priv | enum('N', 'Y') -výchozí N | ||||||||
Repl_client_priv | enum('N', 'Y') -výchozí N | ||||||||
Create_view_priv | enum('N', 'Y') -výchozí N | ||||||||
Show_view_priv | enum('N', 'Y') -výchozí N | ||||||||
Create_routine_priv | enum('N', 'Y') -výchozí N | ||||||||
Alter_routine_priv | enum('N', 'Y') -výchozí N | ||||||||
Create_user_priv | enum('N', 'Y') -výchozí N | ||||||||
ssl_type | enum('', 'Any', 'X509', 'SPECIFIED') | ||||||||
ssl_cipher | blob | ||||||||
x509_issuer | blob | ||||||||
x509_subject | blob | ||||||||
max_questions | int | ||||||||
max_updates | int | ||||||||
max_connections | int | ||||||||
max_user_connections | int |
název sloupce | typ |
Host | char(60) |
Db | char(64) |
User | char(16) |
Select_priv | enum('N', 'Y') -výchozí N |
Insert_priv | enum('N', 'Y') -výchozí N |
Update_priv | enum('N', 'Y') -výchozí N |
Delete_priv | enum('N', 'Y') -výchozí N |
Create_priv | enum('N', 'Y') -výchozí N |
Drop_priv | enum('N', 'Y') -výchozí N |
Grant_priv | enum('N', 'Y') -výchozí N |
References_priv | enum('N', 'Y') -výchozí N |
Index_priv | enum('N', 'Y') -výchozí N |
Alter_priv | enum('N', 'Y') -výchozí N |
Create_tmp_table_priv | enum('N', 'Y') -výchozí N |
Lock_tables_priv | enum('N', 'Y') -výchozí N |
Create_view_priv | enum('N', 'Y') -výchozí N |
Show_view_priv | enum('N', 'Y') -výchozí N |
Create_routine_priv | enum('N', 'Y') -výchozí N |
Alter_routine_priv | enum('N', 'Y') -výchozí N |
Execute_priv | enum('N', 'Y') -výchozí N |
název sloupce | typ |
Host | char(60) |
Db | char(64) |
Select_priv | enum('N','Y') |
Insert_priv | enum('N','Y') |
Update_priv | enum('N','Y') |
Delete_priv | enum('N','Y') |
Create_priv | enum('N','Y') |
Drop_priv | enum('N','Y') |
Grant_priv | enum('N','Y') |
References_priv | enum('N','Y') |
Index_priv | enum('N','Y') |
Alter_priv | enum('N','Y') |
Create_tmp_table_priv | enum('N','Y) |
Lock_tables_priv | enum('N','Y') |
Create_view_priv | enum('N','Y') |
Show_view_priv | enum('N','Y') |
Create_routine_priv | enum('N','Y') |
Alter_routine_priv | enum('N','Y') |
Execute_priv | enum('N','Y') |
název sloupce | typ |
Host | char(60) |
Db | char(64) |
User | char(16) |
Table_name | char(64) |
Grantor | char(77) |
Timestamp | timestamp |
Table_priv | set('Select', 'Insert', 'Update', 'Delete', 'Create', 'Drop', 'Grant', 'References', 'Index', 'Alter', 'Create View', 'Show view') |
Column_priv | set('Select', 'Insert', 'Update', 'References') |
název sloupce | typ |
Host | char(60) |
Db | char(64) |
User | char(16) |
Table_name | char(64) |
Column_name | char(64) |
Timestamp | timestamp |
Column_priv | set('Select','Insert','Update','References') |
název sloupce | typ |
Host | char(60) |
Db | char(64) |
User | char(16) |
Routine_name | char(64) |
Routine_type | enum('FUNCTION','PROCEDURE') |
Grantor | char(77 |
Proc_priv | set('Execute','Alter Routine','Grant') |
Timestamp | timestamp |
Nastavení hesla root | |
UPDATE user SET password = PASSWORD('nove-heslo') WHERE user = 'root'; | Nastaví heslo pro uživatele root na nove-heslo. Tento příkaz se může spustit kdekoliv v DB, pokud jsme přihlášeni jako root |
Změna názvu superuživatele | |
UPDATE user SET user = 'novy_root' WHERE user = 'root'; | Přejmenuje uživatele root na novy_root. Pokud se budeme tedy pak v budoucnu přihlašovat jako superuživatel, použijeme nové jméno |
Odstanění anonymních uživatelů | |
USE MYSQL;
DELETE FROM user WHERE user = ''; | Tímto jsme zlikvidovali všechny uživate, kteří nemají ve sloupci user žádnou hodnotu. Jen registrovaní uživatelé se mohou připojovat |
Nastavení hesla všem uživatelům | |
USE MYSQL;
UPDATE user SET password = PASSWORD('nove-heslo') WHERE password = ''; | Všem uživatelům, kteří měli prázdné heslo jsme tímto nastavili heslo nove-heslo. |
Přístup uživatelů odevšad | |
UPDATE user SET host = '192.168.0.%' WHERE host = '%'; | je třeba zvážit, jestli má nějaký uživatel mít právo přistupovat z jakéhokoliv stroje. Takový uživatelé mají ve sloupci host pouze znak procenta % zde je povolen přístup ze sítě 192.168.0.0/24. Můžeme použít IP, resolvovatelný název, případně localhost |
POZOR: je třeba znovunačíst práva, protože mysql si uchovává kopii v RAM. Nezapomínat na to !!!
provedeme to příkazem FLUSH PRIVILEGES; |
Příkaz | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GRANT | Vytvoření nového uživatele a přidání práv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GRANT opravneni [(seznam sloupců)] ON JmenoDB.JmenoTB TO Jmeno_uzivatele@umistnení IDENTIFIED BY 'nejake_heslo'; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
za příkaz GRANT píšeme oprávnění a volitelně seznam sloupců Zvláštní práva
Uživatelská práva
Administrátorská práva
za příkaz ON definujeme na co se práva vztahují
za příkaz TO definujeme jméno uživatele a za zavináč odkud se muže připojovat
volitelně-za příkaz IDENTIFIED BY píšeme heslo uzavřené do uvozovek. Pokud toto neuvedeme, tak u nového uživatele bude heslo prázdné a u uživatele, který heslo má , ale přidáváme jen práva, zůstane heslo stejné. Příkazem GRANT se oprávnění pouze přidávají a nelze je pomocí tohoto příkazu odebírat.Pro odebrání použijeme příkaz REVOKE. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Popis příkladu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GRANT ALL ON testovaci.* to uzivak@localhost IDENTIFIED BY 'nejake_heslo'; | Pro DB testovaci nastaví všechny práva a vytvoří uživatele uzivak, který může přistupovat pouze z localhostu a přiřadí mu heslo nejake_heslo | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GRANT ALL ON testovaci.* to uzivak@'%' IDENTIFIED BY 'nejake_heslo'; | stejné jako předcházející, ale uživatel může přistupovat odkudkoliv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GRANT ALL ON *.* to uzivak@'%' IDENTIFIED BY 'nejake_heslo'; | stejné jako předcházející, ale uživatel může navíc přistupovat ke všem DB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GRANT ALL ON *.* to uzivak@'%' IDENTIFIED BY 'nejake_heslo' WITH GRANT OPTION; | stejné jako předcházející, ale uživatel může navíc měnit přístupová práva-je z něj root(superuživatel) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GRANT select, insert ON testovaci.* to uzivak@localhost IDENTIFIED BY 'nejake_heslo'; | stejné jako první příklad, ale nastaví se pouze práva select a insert | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příkaz | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
REVOKE | odebírá práva k DB a tabulkám | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
REVOKE opravneni [(seznam sloupců)] ON databaze.tabulka FROM uzivatel@umistneni; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
za příkaz REVOKE uvádíme odebíráné práva a volitelně seznam sloupců-stejné jako u příkazu GRANT
za příkaz ON definujeme na co se práva vztahují-stejné jako u příkazu GRANT za příkaz FROM definujeme jméno uživatele a za zavináč odkud se připojuje | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Popis příkladu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
REVOKE all ON *.* FROM uzivatel@localhost; | odebere veškerá oprávnění ze všech DB a tabulek pro uživatele uzivatel, který se připojuje z localhostu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příkaz | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SHOW GRANTS | Zobrazení přístupových práv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SHOW GRANTS FOR uzivatel@umistnen; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
za příkaz SHOW GRANTS FOR uvedeme uživatele a jeho umístnění | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Popis příkladu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SHOW GRANTS FOR root@localhost; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. |
Příkaz | Popis |
CREATE DATABASE | vytvoří databázi |
Syntaxe | |
CREATE DATABASE [IF NOT EXISTS] JmenoDB volbyDB; | |
Vysvětlení částí příkazu | |
za příkaz CREATE DATABASE vložíme název vytvářené DB
IF NOT EXISTS -Volitelný příkaz IF NOT EXISTS způsobí, že se mysql nebude pokoušet vytvořit DB s tímto jménem, pokud již tato existuje. za jmémo DB ještě můžeme uvést volby, které DB specifikují COLLATE znak_sada -data budou řazena podle zadané znakové sady, pokud se neuvede, DB bude dle znak. sady MYSQL CHARACTER SET znak_sada-data budou ve vybrané znakové sadě, pokud se neuvede, DB bude dle znak. sady MYSQL | |
Příklady | Popis příkladu |
CREATE DATABASE IF NOT EXISTS JmenoDB; | vytvoří DB JmenoDB |
CREATE DATABASE JmenoDB CHARACTER SET latin2 ; | vytvoří DB JmenoDB s kodováním latin2 |
. | |
Příkaz | Popis |
ALTER DATABASE | upravuje vlastnosti DB |
Syntaxe | |
ALTER DATABASE JmenoDB volbyDB; | |
Vysvětlení částí příkazu | |
za příkaz ALTER DATABASE vložíme název upravované DB
pak následují volby, které mění vlasnosti COLLATE znak_sada -data budou řazena podle zadané znakové sady, pokud se neuvede, DB bude dle znak. sady MYSQL CHARACTER SET znak_sada-data budou ve vybrané znakové sadě, pokud se neuvede, DB bude dle znak. sady MYSQL | |
Příklady | Popis příkladu |
ALTER DATABASE JmenoDB CHARACTER SET latin2 ; | upraví DB JmenoDB na kodování latin2 |
. | |
Příkaz | Popis |
SHOW DATABASES | vypisuje vytvořené DB |
Syntaxe | |
SHOW DATABASES [LIKE vzor]; | |
Vysvětlení částí příkazu | |
s volbou LIKE můžeme filtrovat výpis | |
Příklady | Popis příkladu |
SHOW DATABASES LIKE 'test%'; | vypíše databáze, s nepovinným omezením LIKE zde vyhledá pouze DB , které mají na začátku názvu test |
. | |
Příkaz | Popis |
SHOW CREATE DATABASE | vypisuje vlasnosti vybrané DB |
Syntaxe | |
SHOW CREATE DATABASE; | |
Vysvětlení částí příkazu | |
za příkaz CREATE CREATE DATABASE vložíme název vytvářené DB | |
Příklady | Popis příkladu |
SHOW CREATE DATABASE pokusna; | výsledek (pokusna | CREATE DATABASE `pokusna` /*!40100 DEFAULT CHARACTER SET latin1 */ ) |
. | |
Příkaz | Popis |
USE | vstoupení do DB |
Syntaxe | |
USE JmenoDB; | |
Vysvětlení částí příkazu | |
za příkaz USE vložíme název DB se kterou chceme pracovat | |
Příklady | Popis příkladu |
USE JmenoDB; | vstoupení do DB JmenoDB |
. |
Příkaz | Popis | ||||||||
CREATE TABLE | vytvoří tabulku | ||||||||
Syntaxe | |||||||||
CREATE [TEMPORARY] TABLE Jmeno_tabulky [IF NOT EXIST] Jmeno_tabulky (název_sloupce typ_sloupce [volby_sloupce] [index]) volby_tabulky; | |||||||||
Vysvětlení částí příkazu | |||||||||
V závorce můžeme definovat více sloupců (v závorce je oddělujeme čárkou a mezerou)
za příkaz CREATE TABLE napíšeme název tabulky, za slovem CREATE volitelně následuje TEMPORARY pro dočasné tabulky poté volitelně následuje IF NOT EXIST, pokud nechceme obdržet chybu při vytváření tabulky existujícího jména do závorky vepíšeme název sloupce,typ sloupce (INT,TEXT), volby sloupce NULL/ NOT NULL -- U všech typů -- zaručí, se se nesmí vložit prázdná hodnota USIGNED -- U číselných typů -- celočíselných typů můžeme zdvojnásobit jejich kladné rozmezí ZEROFILL -- U číselných typů -- slouží k automatickému doplňování nul(INT (5) ZEROFILL a zadáme číslo 5 doplní jej to na 00005) BINARY -- CHAR, VARCHAR -- řetězce se budou ukládat jako binární řetězce DEFAUL / DEFAUL CURRENT_TIMESTAMP -- U všech typů kromě BLOB a TEXT -- pokud se nevyplní, vloží se předvyplněná hodnota -CREATE TABLE Zakaznik (Zeme char (15) NOT NULL DEFAULT “CSR“); ON UPDATE CURRENT_TIMESTAMP AUTO_INCREMENT / IDENTITY -- U všech typů INT -- při zadání nového záznamu do tabulky se do pole automaticky vloží číslo o jedno vyšší, než bylo dosud použito PRIMARY KEY -- U všech typů -- každý záznam musí mít jedinečnou hodnot CHARACTER SET / COLLATE -- CHAR, VARCHAR -- definuje znakovou sadu a sadu pro řazení COMMENT nejaky_text -- popis sloupce index definuje index, jehož působnost zahrnuje jeden, nebo kěkolik sloupců-volby INDEX [název_indexu](sloupce_indexu) INIQUE [INDEX] [název_indexu](sloupce_indexu) PRIMARY KEY (sloupce_indexu) FULLTEXT [název_indexu](sloupce_indexu) SPATIAL INDEX [název_indexu](sloupce_indexu) FOREIGN KEY [c1_nazev klice](sloupec1) REFERENCES tabulka2 (sloupec2) volby tabulky ENGINE=MYISAM | HEAP | INODB ROW_FORMAT=dynamic | default | static compressed AUTO_INCREMENT=1000000 -- udává počáteční hodnotu sloupce AUTO_INCREMENT (1000000 pro 6timístná čísla) CHECKSUM=0 | 1 -- zapíná vypíná kontrolní součty PACK_KEYS=0 | 1 -- zmenšuje velikost indexu DELAY_KEY_WRITE=0 | 1 -- vypne aktualizaci indexu po každé změně COMMENT nejaky_text -- popis tabulky, zobrazí se příkazem SHOW CREATE TABLE; CHARACTER SET / COLLATE -- definuje znakovou sadu a sadu pro řazení | |||||||||
Příklady | Popis příkladu | ||||||||
CREATE TABLE Jmeno_tabulky; | vytvoří tabulku Jmeno_tabulky | ||||||||
CREATE TABLE Jmeno_tabulky (jmeno varchar(20), prijmeni varchar(40)); | vytvoří tabulku Jmeno_tabulky, sloupec jmeno o delce 20 znaků a sloupec prijmeni o délce 40 znaků | ||||||||
CREATE TABLE Jmeno_tabulky Produkty (Jmeno_sloupce INT AUTO_INCREMENT PRIMARY KEY NOT NULL); | vytvoří tabulku Jmeno_tabulky,sloupec Jmeno_sloupce, který je primární a sám automaticky navyšuje číslo řádku | ||||||||
. | |||||||||
Příkaz | Popis | ||||||||
SHOW CREATE TABLE | vypíše strukturu tabulky, text lze použít pro vytvoření tabulky | ||||||||
Syntaxe | |||||||||
SHOW CREATE TABLE Jmeno_tabulky; | |||||||||
Vysvětlení částí příkazu | |||||||||
za příkaz SHOW CREATE TABLE udáváme jméno DB | |||||||||
Příklady | Popis příkladu | ||||||||
SHOW CREATE TABLE Jmeno_tabulky; | vypíše strukturu tabulky Jmeno_tabulky | ||||||||
. | |||||||||
Příkaz | Popis | ||||||||
ALTER TABLE | změní strukturu tabulky | ||||||||
Syntaxe | |||||||||
ALTER TABLE Jmeno_tabulky Volby_tabulky; | |||||||||
Vysvětlení částí příkazu | |||||||||
za příkaz ALTER TABLE se uvádí název upravované tabulky, výčet voleb tabulky je stejný jako u CREATE TABLE, více viz níže | |||||||||
. | |||||||||
Příkaz | Popis | ||||||||
ALTER TABLE Jmeno_tabulky ADD | přidává nový sloupec, případně index do tabulky | ||||||||
Syntaxe | |||||||||
ALTER TABLE Jmeno_tabulky ADD Jmeno_sloupce typsloupce volbysloupce FIRST | AFTER Jmeno_sloupce2; | |||||||||
Vysvětlení částí příkazu | |||||||||
za příkaz ALTER TABLE dáme jméno tabulky
pak uvedeme název nového sloupce typ sloupce (varchar(10),text) Můžeme specifikovat umístnění vzhledem k ostatním sloupcům defaultně (bez volby) --- se vloží na poslední místo FIRST --- se vloží na první místo AFTER Jmeno_sloupce2 --- se vloží za sloupec Jmeno_sloupce2 | |||||||||
Příklady | Popis příkladu | ||||||||
ALTER TABLE Jmeno_tabulky ADD (nick varchar(20)); | přidá na konec sloupec nick s typem varchar(20) | ||||||||
ALTER TABLE Jmeno_tabulky ADD (rok date) FIRST; | přidá na začátek sloupec rok s typem date | ||||||||
ALTER TABLE Jmeno_tabulky ADD (razitko timestamp) AFTER rok; | přidá za sloupec rok sloupec razitko s typem timestamp | ||||||||
ALTER TABLE Jmeno_tabulky ADD PRIMARY KEY (Jmeno_sloupce); | přidá primary key sloupci Jmeno_sloupce v tabulce Jmeno_tabulky | ||||||||
ALTER TABLE Jmeno_tabulky ADD Jmeno_sloupce INT NOT NULL PRIMARY KEY AUTO_INCREMENT; | přidá primary key s auto inkrementací sloupci Jmeno_sloupce v tabulce Jmeno_tabulky | ||||||||
ALTER TABLE Jmeno_tabulky ADD INDEX [Nazev_indexu](Jmeno_sloupce); | přidá index Nazev_indexu sloupci Jmeno_sloupce v tabulce Jmeno_tabulky | ||||||||
ALTER TABLE Jmeno_tabulky ADD UNIQUE [Nazev_indexu](Jmeno_sloupce); | vytvoří unikátní index Nazev_indexu sloupci Jmeno_sloupce v tabulce Jmeno_tabulky. Může být více jedinečných klíčů,ale nesmí být v indexovaných položkách duplicity. | ||||||||
ALTER TABLE Jmeno_tabulky ADD FULLTEXT [Nazev_indexu](Jmeno_sloupce); | vytvoří fultextový index Nazev_indexu sloupci Jmeno_sloupce v tabulce Jmeno_tabulky.Fulltextový klíč se smí vytvářet pouze ze sloupců typu VARCHAR a TEXT | ||||||||
ALTER TABLE Jmeno_tabulky ADD SPATIAL INDEX nazevindexu (sloupceindexu); | |||||||||
ALTER TABLE Jmeno_tabulky ADD FOREIGN KEY [Nazev_indexu](Jmeno_sloupce) REFERENCES Jmeno_tabulky2 (Jmeno_sloupce2); | vytvoří propojení mezi tabulkami a sloupci | ||||||||
. | |||||||||
Příkaz | Popis | ||||||||
ALTER TABLE Jmeno_tabulky CHANGE | mění název sloupce, datový typ, nebo volby sloupce | ||||||||
Syntaxe | |||||||||
ALTER TABLE Jmeno_tabulky CHANGE Stare_jmeno_sloupce Nove_jmeno_sloupce typsloupce [volbysloupce]; | |||||||||
Vysvětlení částí příkazu | |||||||||
za příkaz ALTER TABLE dáme jméno tabulky
pak uvedeme název starého sloupce, pak název nového sloupce, typ sloupce (varchar(10),text) | |||||||||
Příklady | Popis příkladu | ||||||||
ALTER TABLE prvni CHANGE nick prezdivka varchar(20); | změní název sloupce nick na přezdívka s typem varchar(20) | ||||||||
ALTER TABLE prvni CHANGE razitko razitko timestamp; | změní typ sloupce třeba z time na timestamp při zachování stejného jména. | ||||||||
. | |||||||||
Příkaz | Popis | ||||||||
ALTER TABLE Jmeno_tabulky DROP | odstranuje sloupce,indexy, primární klíče a cizí klíče | ||||||||
Syntaxe | |||||||||
ALTER TABLE Jmeno_tabulky DROP Jmeno_sloupce; | |||||||||
Vysvětlení částí příkazu | |||||||||
za příkaz ALTER TABLE dáme jméno tabulky
pak uvedeme co chceme odstranit | |||||||||
Příklady | Popis příkladu | ||||||||
ALTER TABLE Jmeno_tabulky DROP Jmeno_sloupce; | odstraní sloupec Jmeno_sloupce | ||||||||
ALTER TABLE Jmeno_tabulky DROP INDEX nazevindexu; | odstraní index nazevindexu | ||||||||
ALTER TABLE Jmeno_tabulky DROP PRIMARY KEY; | odstraní primární klíč | ||||||||
ALTER TABLE Jmeno_tabulky DROP FOREIGN KEY jmeno_ciziho_klice; | odstraní cizí klíč | ||||||||
. | |||||||||
Příkaz | Popis | ||||||||
ALTER TABLE Jmeno_tabulky CONVERT TO CHARACTER SET | změní znakovou sadu | ||||||||
Syntaxe | |||||||||
ALTER TABLE Jmeno_tabulky CONVERT TO CHARACTER SET Znak_sada COLLATE nazev_razeni; | |||||||||
Vysvětlení částí příkazu | |||||||||
za příkaz ALTER TABLE dáme jméno tabulky
pak uvedeme za CONVERT TO CHARACTER SET znakovou sadu a případně i volitelné COLLATE za který uvedeme název řazení POZOR je li sloupec indexován, musí se nejdříve index zakázat a pak po provedení změn zase povolit | |||||||||
Příklady | Popis příkladu | ||||||||
ALTER TABLE Jmeno_tabulky CONVERT TO CHARACTER SET cp1250; | změní znakovou sadu na cp1250 | ||||||||
. | |||||||||
Příkaz | Popis | ||||||||
ALTER TABLE Jmeno_tabulky ENGINE | změna typu tabulky | ||||||||
Syntaxe | |||||||||
ALTER TABLE Jmeno_tabulky ENGINE Typ; | |||||||||
Vysvětlení částí příkazu | |||||||||
změna typu tabulky (MyISAM,InnoDB). Změna MyISAM na InnoDB se nepovede, pokud MyISAM obsahují fulltextový index, nebo geometrická data | |||||||||
Příklady | Popis příkladu | ||||||||
ALTER TABLE Jmeno_tabulky ENGINE InnoDB | změní typ tabulky na InnoDB | ||||||||
. | |||||||||
Příkaz | Popis | ||||||||
ALTER TABLE Jmeno_tabulky MODIFY COLUMN | přesune v tabulce sloupec na jiné místo | ||||||||
Syntaxe | |||||||||
ALTER TABLE Jmeno_tabulky MODIFY COLUMN Sloupec5 smallint AFTER Sloupec1 | FIRST; | |||||||||
Vysvětlení částí příkazu | |||||||||
za příkaz ALTER TABLE dáme jméno tabulky
pak uvedeme za MODIFY COLUMN sloupec, který chceme přesunout a typ sloupce (varchar(10),text) nakonec uvedeme kam jej přesuneme Můžeme specifikovat umístnění vzhledem k ostatním sloupcům, FIRST --- se vloží na první místo AFTER Jmeno_sloupce2 --- se vloží za sloupec Jmeno_sloupce2 | |||||||||
Příklady | Popis příkladu | ||||||||
ALTER TABLE Jmeno_tabulky MODIFY COLUMN Sloupec5 smallint AFTER Sloupec1; | přesune v tabulce sloupec Sloupec5 typu smallint za Sloupec1 | ||||||||
. | |||||||||
Příkaz | Popis | ||||||||
DROP TABLE | smaže tabulku | ||||||||
Syntaxe | |||||||||
DROP [TEMPORARY] TABLE [IF EXIST] Jmeno_tabulky, Jmeno_tabulky2; | |||||||||
Vysvětlení částí příkazu | |||||||||
za příkaz DROP volitelně uvádíme pro dočasné tabulky TEMPORARY
za příkaz TABLE volitelně uvádíme IF EXIST (příkaz neskončí chybou pokud tabulka neexistuje) pak uvedeme jména mazaných tabulek (tabulky | |||||||||
Příklady | Popis příkladu | ||||||||
DROP TABLE Jmeno_tabulky; | smaže tabulku Jmeno_tabulky | ||||||||
. | |||||||||
Příkaz | Popis | ||||||||
SHOW TABLES | zobrazí tabulky v DB | ||||||||
Syntaxe | |||||||||
SHOW TABLES [FROM JmenoDB] [LIKE vzor]; | |||||||||
Vysvětlení částí příkazu | |||||||||
za příkaz SHOW TABLES můžeme volitelně uvést jinou DB než aktuální a příkazem LIKE vyfiltrovat výběr | |||||||||
Příklady | Popis příkladu | ||||||||
SHOW TABLES ; | zobrazí tabulky v aktuální DB | ||||||||
SHOW TABLES [FROM JmenoDB] [LIKE 't%']; | zobrazí tabulky v DB JmenoDB začínající na t | ||||||||
. | |||||||||
Příkaz | Popis | ||||||||
SHOW TABLE TYPES | zobrazí seznam všech dostupných typů tabulek (MYISAM, Inno DB atd) | ||||||||
Syntaxe | |||||||||
SHOW TABLE TYPES; | |||||||||
. | |||||||||
Příkaz | Popis | ||||||||
SHOW TABLE STATUS | zobrazí vlastnosti aktuální, nebo vybrané DB | ||||||||
Syntaxe | |||||||||
SHOW TABLE STATUS [FROM JmenoDB] [LIKE vzor]; | |||||||||
Vysvětlení částí příkazu | |||||||||
za příkaz SHOW TABLE STATUS můžeme volitelně uvést jinou DB než aktuální a příkazem LIKE vyfiltrovat výběr | |||||||||
. | |||||||||
Příkaz | Popis | ||||||||
RENAME TABLE | přejmenovává tabulky | ||||||||
Syntaxe | |||||||||
RENAME TABLE Stary_nazev TO Novy_nazev; | |||||||||
Vysvětlení částí příkazu | |||||||||
za příkaz RENAME TABLE uvedeme jméno tabulky , kterou chceme přejmenovat
za příkaz TO uvedeme nové jméno tabulky | |||||||||
Příklady | Popis příkladu | ||||||||
RENAME TABLE prvni TO druha; | přejmenuje dabulku "prvni" na "druha" | ||||||||
. | |||||||||
Příkaz | Popis | ||||||||
ANALYZE TABLE | provede analýzu indexových hodnot sloupce | ||||||||
Syntaxe | |||||||||
ANALYZE TABLE jmeno_tabulky; | |||||||||
. | |||||||||
Příkaz | Popis | ||||||||
CHECK TABLE | prověří integritu databázového souboru pro zadanou tabulku. Chyby nejsou opraveny. | ||||||||
Syntaxe | |||||||||
CHECK TABLE jmeno_tabulky; | |||||||||
. | |||||||||
Příkaz | Popis | ||||||||
FLUSH TABLES | zavře všechny vyjmenované tabulky | ||||||||
Syntaxe | |||||||||
FLUSH TABLES jmeno_tabulky; | |||||||||
. | |||||||||
Příkaz | Popis | ||||||||
LOCK TABLE | zabranuje jiným uživatelům MYSQL číst/zapisovat zadané tabulky, dokud není zámek uvolněn. Používat jen s stabulkami MYISAM. Většinou se používá při použití příkazu SELECT a následné úpravě příkazem UPDATE. Po uzamknutí mají právo čtení, nebo zápisu v tabulce pouze ty příkazy, které se nachází mezi LOCK ... UNLOCK | ||||||||
Syntaxe | |||||||||
LOCK TABLES nazev_tabulky typ_zamku; | |||||||||
Vysvětlení částí příkazu | |||||||||
Typy zámků
| |||||||||
Příklady | Popis příkladu | ||||||||
LOCK TABLES nazev_tabulky READ; | uzamkne tabulku nazev_tabulky zamkem read | ||||||||
. | |||||||||
Příkaz | Popis | ||||||||
OPTIMIZE TABLE | odstranuje nepoužívaná místa z tabulkových souborů. U DB , kde se často updatují a mažou data by se měl pouštět pravidelně, protože zrychluje práci | ||||||||
Syntaxe | |||||||||
OPTIMIZE TABLE nazev_tabulky; | |||||||||
. | |||||||||
Příkaz | Popis | ||||||||
UNLOCK TABLES | odemkne všechny tabulky všech databází. | ||||||||
Syntaxe | |||||||||
UNLOCK TABLES; | |||||||||
. | |||||||||
Příkaz | Popis | ||||||||
SHOW COLUMNS FROM | zobrazí informace o všech sloupcích v tabulce | ||||||||
Syntaxe | |||||||||
SHOW [FULL] COLUMNS FROM Jmeno_tabulky [FROM nazevDB] [LIKE vzor] ; | |||||||||
Vysvětlení částí příkazu | |||||||||
za příkaz SHOW můžeme volitelně uvést příkaz FULL, který zobrazí podrobnější informace
za příkaz COLUMNS FROM uvedeme jméno tabulky následně můžeme vybrat jinou DB než aktuální a příkazem LIKE vyfiltrovat výběr | |||||||||
Příklady | Popis příkladu | ||||||||
SHOW COLUMNS FROM Jmeno_tabulky; | zobrazí sloupce v tabulce Jmeno_tabulky | ||||||||
. | |||||||||
Příkaz | Popis | ||||||||
SHOW INDEX FROM | zobrazí indexy sloupců | ||||||||
Syntaxe | |||||||||
SHOW INDEX FROM Jmeno_tabulky; | |||||||||
Vysvětlení částí příkazu | |||||||||
za příkaz SHOW INDEX FROM uvádíme jméno tabulky ve které chceme zobrazit indexy | |||||||||
Příklady | Popis příkladu | ||||||||
SHOW INDEX FROM Jmeno_tabulky; | zobrazí indexy sloupců v tabulce Jmeno_tabulky | ||||||||
. | |||||||||
Příkaz | Popis | ||||||||
DROP INDEX | vymaže index | ||||||||
Syntaxe | |||||||||
DROP INDEX nazev_indexu ON Jmeno_tabulky; | |||||||||
Vysvětlení částí příkazu | |||||||||
za příkaz DROP INDEX uvedeme název indexu (zpravidla název sloupce, pro primární index použijeme volbu PRIMARY)
za příkaz ON uvedeme jméno tabulky | |||||||||
. |
Funkce | Popis |
CONCAT | spojuje textové řetězce z vybraných sloupců(řetězců) těsně za sebou |
Syntaxe | |
SELECT CONCAT(sloupec1, sloupec2) FROM tabulka1; | |
Vysvětlení částí příkazu | |
za příkaz SELECT CONCAT uvedeme do závorky vyjmenované sloupce(řetězce) které spojujeme | |
Příklady | Výsledek |
SELECT CONCAT(jmeno, prijmeni) FROM lidi; | JaroslavVotruba |
SELECT CONCAT(jmeno, "KING") FROM lidi; from lidi;; | JaroslavKING |
. | |
Funkce | Popis |
CONCAT_WS | spojuje sloupce(textové řetězce) z vybraných sloupců, které oddělí specifikovaným oddělovačem |
Syntaxe | |
SELECT CONCAT_WS('oddelovac', sloupec1, sloupec2) FROM tabulka1; | |
Vysvětlení částí příkazu | |
za příkaz SELECT CONCAT uvedeme do závorky nejdříve oddělovač a pak vyjmenované sloupce(řetězce) | |
Příklady | Výsledek |
SELECT CONCAT_WS(' ', jmeno, prijmeni) from lidi; | Jaroslav Votruba |
SELECT CONCAT_WS(' ', jmeno, "KING") from lidi; | Jaroslav KING |
. | |
Funkce | Popis |
LCASE nebo LOWER | převede velká písmena na malá (je možné použít oba příkazy, dělají to samé) |
Syntaxe | |
SELECT LCASE(sloupec) FROM tabulka1; | |
Vysvětlení částí příkazu | |
za příkaz SELECT LCASE uvedeme do závorky sloupec (řetězec) | |
Příklady | Výsledek |
SELECT LCASE(jmeno) FROM lidi; | jaroslav |
. | |
Funkce | Popis |
UCASE nebo UPPER | převede malá písmena na velká (je možné použít oba příkazy, dělají to samé) |
Syntaxe | |
SELECT UCASE(sloupec) FROM tabulka1; | |
Vysvětlení částí příkazu | |
za příkaz SELECT UCASE uvedeme do závorky sloupec (řetězec) | |
Příklady | Výsledek |
SELECT UCASE(jmeno) FROM lidi; | JAROSLAV |
. | |
Funkce | Popis |
LPAD | vyplní výsledek na požadovanou délku vybranými znaky, které vloží před hodnoty |
Syntaxe | |
SELECT LPAD(sloupec, číslo, 'znak') FROM tabulka1; | |
Vysvětlení částí příkazu | |
za příkaz SELECT LPAD uvedeme do závorky nejdříve sloupce, konečnou délku řetězce a nakonec znak který budeme doplnovat | |
Příklady | Výsledek |
SELECT LPAD(jmeno, 20, '*') FROM lidi; | ************Jaroslav |
. | |
Funkce | Popis |
RPAD | vyplní výsledek na požadovanou délku vybranými znaky, které vloží za hodnoty |
Syntaxe | |
SELECT RPAD(sloupec, číslo, 'znak') FROM tabulka1;C | |
Vysvětlení částí příkazu | |
za příkaz SELECT RPAD uvedeme do závorky nejdříve sloupce, konečnou délku řetězce a nakonec znak který budeme doplnovat | |
Příklady | Výsledek |
SELECT RPAD(jmeno, 20, '*') FROM lidi; | výsledek Jaroslav************ |
. | |
Funkce | Popis |
QUOTE | vloží výsledek do apostrofů. Pokud řetězec obsahuje ' nebo " doplní jej o / |
Syntaxe | |
SELECT QUOTE(sloupec) FROM tabulka1; | |
Vysvětlení částí příkazu | |
za příkaz SELECT QUOTE uvedeme do závorky sloupec | |
Příklady | Výsledek |
SELECT QUOTE(jmeno) FROM lidi; | 'Jaroslav' |
. | |
Funkce | Popis |
REPEAT | výběr ze sloupce opakuje x-krát za sebou |
Syntaxe | |
SELECT REPEAT(sloupec, číslo) FROM tabulka1; | |
Vysvětlení částí příkazu | |
za příkaz SELECT REPEAT uvedeme do závorky sloupec a číslo kolikrát se má výsledek opakovat | |
Příklady | Výsledek |
SELECT REPEAT(jmeno, 3) FROM lidi; | JaroslavJaroslavJaroslav |
. | |
Funkce | Popis |
REPLACE | zamění ve výběru jeden řetězec jiným |
Syntaxe | |
SELECT REPLACE(sloupec, 'hledaná_hodnota', 'zamění_za') FROM lidi; | |
Vysvětlení částí příkazu | |
za příkaz SELECT REPLACE uvedeme do závorky sloupec, hledaný výraz a nakonec hodnotu, která se vloží místo hledaného výrazu | |
Příklady | Výsledek |
SELECT REPLACE(jmeno, 'r', 'KING') FROM lidi; | JaKINGoslav |
SELECT REPLACE(jmeno, 'r', prijmeni) FROM lidi; | JaVotrubaoslav |
. | |
Funkce | Popis |
INSERT | vloží řetězec od daného místa |
Syntaxe | |
SELECT INSERT(sloupec1, x, y, 'timto nahradi') FROM lidi; | |
Vysvětlení částí příkazu | |
ve sloupci1 začne na x-tém místě a skončí po dalších y znacích, mezi tyto znaky vloží výraz timto nahradi | |
Příklady | Výsledek |
SELECT INSERT(jmeno, 3, 2, 'KING') FROM lidi; | JaKINGslav |
SELECT insert(jmeno, 3, 3, 'KING') FROM lidi; | JaKINGlav |
SELECT insert(jmeno, 3, 3, prijmeni) FROM lidi; | JaVotrubalav |
. | |
Funkce | Popis |
REVERSE | obrátí pořadí vybíraných hodnot |
Syntaxe | |
SELECT REVERSE(sloupec) FROM tabulka1; | |
Vysvětlení částí příkazu | |
za příkaz SELECT REVERSE uvedeme do závorky sloupec | |
Příklady | Výsledek |
SELECT REVERSE(jmeno) FROM lidi; | valsoraJ |
. | |
Funkce | Popis |
LTRIM | odřízne mezery na začátku řetězce, pokud se tam vyskytují |
Syntaxe | |
SELECT LTRIM(sloupec) FROM tabulka1; | |
Vysvětlení částí příkazu | |
za příkaz SELECT LTRIM uvedeme do závorky sloupec | |
Příklady | Výsledek |
SELECT LTRIM(jmeno) FROM lidi; | pokud by bylo v tabulce " Jaroslav", ořízlo by to výsledek na Jaroslav |
. | |
Funkce | Popis |
RTRIM | odřízne mezery na konci řetězce, pokud se tam vyskytují |
Syntaxe | |
SELECT RTRIM(sloupec) FROM tabulka1; | |
Vysvětlení částí příkazu | |
za příkaz SELECT RTRIM uvedeme do závorky sloupec | |
Příklady | Výsledek |
SELECT RTRIM(jmeno) FROM lidi; | pokud by bylo v tabulce "Jaroslav ", ořízlo by to výsledek na Jaroslav |
. | |
Funkce | Popis |
TRIM | odřízne mezery na začátku i konci řetězce, pokud se tam vyskytují |
Syntaxe | |
SELECT RTRIM(sloupec) FROM tabulka1; | |
Vysvětlení částí příkazu | |
za příkaz SELECT RTRIM uvedeme do závorky sloupec | |
Příklady | Výsledek |
SELECT TRIM(jmeno) FROM lidi; | pokud by bylo v tabulce " Jaroslav ", ořízlo by to výsledek na Jaroslav |
. | |
Funkce | Popis |
SPACE | výsledkem je zadaný počet mezer |
Syntaxe | |
SELECT SPACE(číslo); | |
Vysvětlení částí příkazu | |
za příkaz SELECT SPACE uvedeme do závorky, kolik mezer má vygenerovat | |
Příklady | Výsledek |
SELECT SPACE(10); | vypíše 10 mezer |
. | |
Funkce | Popis |
SUBSTR | vynechá z vybraného sloupce x-znaků a zobrazí následujících n-znaků |
Syntaxe | |
SELECT SUBSTR(sloupec, kolik_vynechat, kolik_zobrazit) FROM tabulka1; | |
Vysvětlení částí příkazu | |
za příkaz SELECT SUBSTR uvedeme do závorky sloupec, pak kolik znaků se má vynechat a nakonec kolik se jich má následně zobrazit | |
Příklady | Výsledek |
SELECT SUBSTR(jmeno, 2, 3) FROM lidi; | Příkaz vezme znaky následují 3znaky po 2 znaku . Výsledek ros |
. | |
Funkce | Popis |
RIGHT | zobrazí posledních x-znaků |
Syntaxe | |
SELECT RIGHT(sloupec, číslo) FROM lidi; | |
Vysvětlení částí příkazu | |
za příkaz SELECT RIGHT do závorky sloupec, pak kolik znaků se má zobrazit | |
Příklady | Výsledek |
SELECT RIGHT(jmeno, 3) FROM lidi; | Příkaz vezme skupinu posledních 3 znaků. Výsledek lav |
. | |
Funkce | Popis |
LEFT | zobrazí prvních x-znaků |
Syntaxe | |
SELECT LEFT(sloupec, číslo) FROM lidi; | |
Vysvětlení částí příkazu | |
za příkaz SELECT RIGHT do závorky sloupec, pak kolik znaků se má zobrazit | |
Příklady | Výsledek |
SELECT LEFT(jmeno, 3) FROM lidi; | Příkaz vezme skupinu prvních 3 znaků. Výsledek Jar |
. |
now() | zobrazí aktuální datum a čas 2009-03-11 13:04:36 |
curdate() | zobrazí aktuální datum 2009-03-11 |
curtime() | zobrazí aktuální čas 13:04:36 |
tyto hodnoty můžeme použít i samostatně-viz níže |
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NOW | vypíše aktuální datum a čas | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT NOW(); | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT HOUR(NOW()); | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
za příkaz se vloží prázdné závorky
pokud za závorkami uvedeme hodnotu +0, výsledek bude neformátované složené číslo za příkaz SELECT můžeme uvést následující hodnoty a vyfiltrovat tak hodnotu, kterou potřebujeme YEAR MONTH WEEK . Pokud neurčíme u funkce WEEK druhý argument, bude považována neděle za první den týdne SELECT week(NOW(),1); DAY HOUR MINUTE SECOND | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT NOW(); | 2009-03-11 13:04:36 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT NOW()+0; | 20090223112051.000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CURDATE; | vypíše aktuální datum | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT CURDATE(); | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
za příkaz se vloží prázdné závorky | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT CURDATE(); | 2009-03-09 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CURTIME | vypíše aktuální čas | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT CURTIME(); | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
za příkaz se vloží prázdné závorky | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT CURTIME(); | 12:36:32 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
UTC_DATE | vrací výsledek v světovém koordinovaném času(u nás je +1h oproti UTC) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT UTC_DATE(); | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
za příkaz se vloží prázdné závorky | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT UTC_DATE(); | 2009-03-09 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
UTC_TIME | vrací výsledek v světovém koordinovaném času(u nás je +1h oproti UTC) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT UTC_TIME(); | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
za příkaz se vloží prázdné závorky | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT UTC_TIME(); | 11:36:32 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DATE | vyřízne z datetime pouze datum | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT DATE(sloupec) FROM tabulka; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
místo sloupce, můžeme uvést curdate() a vyřízne část z aktuálního času | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT DATE(razitko) FROM lidi; | 2009-02-23 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT DATE(curdate()); | 2009-03-11 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
YEAR | vyřízne z datetime pouze rok | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT YEAR(sloupec) FROM tabulka; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
místo sloupce, můžeme uvést curdate() a vyřízne část z aktuálního času | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT YEAR(razitko) FROM lidi; | 2009 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
QAURTER | vyřízne z datetime pouze čtvrtletí | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT QAURTER(sloupec) FROM tabulka; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
místo sloupce, můžeme uvést curdate() a vyřízne část z aktuálního času | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT QUARTER(razitko) FROM lidi; | 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MONTH | vyřízne z datetime pouze měsíc | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT MONTH(sloupec) FROM tabulka; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
místo sloupce, můžeme uvést curdate() a vyřízne část z aktuálního času | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT MONTH(razitko) FROM lidi; | 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MONTH | vyřízne z datetime pouze měsíc | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT MONTH(sloupec) FROM tabulka; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
místo sloupce, můžeme uvést curdate() a vyřízne část z aktuálního času | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT MONTH(razitko) FROM lidi; | 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MONTHNAME | vyřízne z datetime pouze název měsíce | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT MONTHNAME(sloupec) FROM tabulka; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
místo sloupce, můžeme uvést curdate() a vyřízne část z aktuálního času | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT MONTHNAME(razitko) FROM lidi; | February | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
WEEK | vyřízne z datetime pouze číslo týdne | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT WEEK(sloupec) FROM tabulka; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
místo sloupce, můžeme uvést curdate() a vyřízne část z aktuálního času | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT WEEK(razitko) FROM lidi; | 8 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
WEEKDAY | vyřízne z datetime pouze číslo dne v týdnu, pondělí=0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT WEEKDAY(sloupec) FROM tabulka; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
místo sloupce, můžeme uvést curdate() a vyřízne část z aktuálního času | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT WEEKDAY(razitko) FROM lidi; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DAYOFMONTH | vyřízne z datetime pouze číslo dne v měsíci | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT DAYOFMONTH(sloupec) FROM tabulka; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
místo sloupce, můžeme uvést curdate() a vyřízne část z aktuálního času | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT DAYOFMONTH(razitko) FROM lidi; | 23 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DAYOFWEEK | vyřízne z datetime pouze číslo dne v týdnu, neděle=1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT DAYOFWEEK(sloupec) FROM tabulka; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
místo sloupce, můžeme uvést curdate() a vyřízne část z aktuálního času | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT DAYOFWEEK(razitko) FROM lidi; | 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DAYOFYEAR | vyřízne z datetime pouze číslo dne v roce | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT DAYOFYEAR(sloupec) FROM tabulka; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
místo sloupce, můžeme uvést curdate() a vyřízne část z aktuálního času | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT DAYOFYEAR(razitko) FROM lidi; | 54 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
WEEKOFYEAR | vyřízne z datetime pouze číslo týdne v roce | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT WEEKOFYEAR(sloupec) FROM tabulka; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
místo sloupce, můžeme uvést curdate() a vyřízne část z aktuálního času | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT WEEKOFYEAR(razitko) FROM lidi; | 9 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DAY | vyřízne z datetime pouze číslo dne | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT DAY(sloupec) FROM tabulka; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
místo sloupce, můžeme uvést curdate() a vyřízne část z aktuálního času | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT DAY(razitko) FROM lidi; | 23 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MAKEDATE | pro daný rok vypíše datum podle počtu dní od začátku roku | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT MAKEDATE(letopočet, počet_dní); | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
do závorky vložíme letopočet a za čárku počet dní od začátku roku | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT MAKEDATE(2009, 250); | 2009-09-07 je 250 den roku 2009|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MAKETIME | vytvoří formát TIME ze zadaných hodnot h, m , s | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT MAKETIME(h, m, s); | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
do závorky vložíme hodiny, minuty a vteřiny | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT MAKETIME(20, 09, 20); ; | 20:09:2023 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DAYNAME | vyřízne z datetime pouze název dne v týdnu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT DAYNAME(sloupec) FROM tabulka; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
místo sloupce, můžeme uvést curdate() a vyřízne část z aktuálního času | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT DAYNAME(razitko) FROM lidi; | Monday | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LAST_DAY | vypíše poslední den v měsíci pro daný datum | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT LAST_DAY(sloupec) FROM tabulka; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
místo sloupce, můžeme uvést curdate() a vyřízne část z aktuálního času | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT LAST_DAY(razitko) FROM lidi; | 2009-03-31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT LAST_DAY('2009-03-09'); | 2009-03-31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT LAST_DAY(curdate()); | 2009-03-31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TIME | vyřízne z datetime pouze časový údaj | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT TIME(sloupec) FROM tabulka; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
místo sloupce, můžeme uvést curdate() a vyřízne část z aktuálního času | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT TIME(razitko) FROM lidi; | 09:22:26 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HOUR | vyřízne z datetime pouze hodiny | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT HOUR(sloupec) FROM tabulka; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
místo sloupce, můžeme uvést curdate() a vyřízne část z aktuálního času | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT HOUR(razitko) FROM lidi; | 09 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MINUTE | vyřízne z datetime pouze minuty | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT MINUTE(sloupec) FROM tabulka; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
místo sloupce, můžeme uvést curdate() a vyřízne část z aktuálního času | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT MINUTE(razitko) FROM lidi; | 22 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SECOND | vyřízne z datetime pouze vteřiny | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT SECOND(sloupec) FROM tabulka; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
místo sloupce, můžeme uvést curdate() a vyřízne část z aktuálního času | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT SECOND(razitko) FROM lidi; | 22 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PERIOD_DIFF | BBBBBBBBBBBBBBBBB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT PERIOD_DIFF(prvni_datum, druhe_datum); | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
rozdíl v měsících , formát-YYMM nebo YYYYMM. Můžeme použít názvy sloupců a porovnat je | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT PERIOD_DIFF(0903,199803); | 132 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DATEDIFF | rozdíl ve dnech mezi 2mi daty, pokud je ve formátu i čas (2010-11-30 23:59:59'), je ignorován | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT DATE_DIFF(prvni_datum, druhe_datum); | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Můžeme použít názvy sloupců a porovnat je, nebo vložit datum jako řetězec | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT DATEDIFF('2009-03-09', '2011-03-09'); | -730 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT * FROM lidi WHERE (DATEDIFF(curdate(),razitko)) >15; | vybere vše z tabulky lidi vezme rozdíl mezi aktuálním datem curdate() a sloupcem razítko. Záznamy starší(větší) jak 15 dní zobrazí | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TIMEDIFF | rozdíl ve dnech mezi 2mi daty(časy) v hodinách | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT TIMEDIFF('první_čas', 'druhý_čas'); | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Můžeme použít názvy sloupců a porovnat je, nebo vložit datum jako řetězec | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT TIMEDIFF('2009-03-09 22:00:00', '2011-03-09 21:10:05'); | -838:59:59 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT TIMEDIFF('22:00:00', '21:10:05'); | 00:49:55 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SLEEP | sleep-čeká zadaný počet sekund. Docela mi uniká smysl této funkce, leda by jste chtěli naštvat nějakého uživatele | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT SLEEP(číslo); | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
do závorky uvedeme počet vteřin po které bude MYSQL čekat | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT SYSDATE(), SLEEP(2), SYSDATE(); | 2009-03-11 13:52:04 | 0 | 2009-03-11 13:52:06 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TO_DAYS | počet dnů po Kristu(od začátku letopočtu) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT TO_DAYS(sloupec); | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
do závorky uvedeme sloupec, případně řetězec obsahující datum | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT TO_DAYS(NOW()); | 733842 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT TO_DAYS("2005-03-10 11:11:11"); | 732380 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT TO_DAYS(razitko) FROM lidi; | 733826 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
UNIX_TIMESTAMP | Unixový čas. počet vteřin od 1. ledna 1970 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT UNIX_TIMESTAMP(); | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
do závorky uvedeme sloupec, případně řetězec obsahující datum | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT UNIX_TIMESTAMP(); | 1236776340 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT UNIX_TIMESTAMP("2008-03-10 11:11:11"); | 1205143871 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TIME_FORMAT | zformátovaný výstup času(výsledek 11:30:13) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT TIME_FORMAT(sloupec, "formátovací_zkratky"); | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Pomocí následujících zkratek si můžeme zformátovat výstup podle své potřeby Zkratky pro časové hodnoty TIME_FORMAT a DATE_FORMAT
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT TIME_FORMAT(NOW(), "%H:%i:%s"); | 14:08:33 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT TIME_FORMAT(NOW(), "%H-x-%i-x-%s"); | 14-x-08-x-33 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT TIME_FORMAT(NOW(), "%Prave je %H hodin %i minut %s vterin"); | Prave je 14 hodin 10 minut 49 vterin | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DATE_FORMAT | zformátovaný výstup datumu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT DATE_FORMAT(sloupec, "formátovací_zkratky"); | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stejné jeko u TIME_FORMAT | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT DATE_FORMAT(NOW(), "%Y:%M:%D"); | 2009:March:11th | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ADDDATE | k datumu přidá x-dní | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT ADDDATE(sloupec, počet_dní); | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
do závorky uvedeme sloupec(řetězec) a za čárku počet přidávaných dní | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT ADDDATE(razitko, 5) FROM lidi; | přidá 5 dní k datumu vybranému z tabulky | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT ADDDATE('2009-02-28 09:22:26', 5); | 2009-03-05 09:22:26 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT ADDDATE(now(), 5); | 2009-03-16 14:22:20 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ADDTIME | přidá zadaný čas k datumu vybranému z tabulky | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT ADDTIME(sloupec, "přidávaný_čas"); | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
do závorky uvedeme sloupec(řetězec) a za čárku, pokud použijem pouze 2 čísla, přidá vteřiny, 4 čísla jsou hodiny a vteřiny a 6 čísel jsou hh:mm:ss | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT ADDTIME(razitko, '02:00:00') FROM lidi; | 2009-02-23 11:22:26 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AAAAAAAAAAAAAAAA | BBBBBBBBBBBBBBBBB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CCCCCCCCCCCCCCCCCCCCCCC | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EEEEEEEEEEEEEEEEEEEEE | FFFFFFFFFFFFFFFFFFFFFF | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DATE_ADD a DATE_SUB | přidá (DATE_ADD) /odečte (DATE_SUB) datum a čas od zadaného data | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT DATE_ADD(sloupec, INTERVAL číslo hodnota) FROM tabulka; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
do závorky uvedeme sloupec (výraz), ke kterému budeme přidávat/odebírat čas
za čárku dáme výraz INTERVAL poté definujeme počet jednotek které budeme přidávat/odebírat nakonec je hodnota, což můžou být dny , roky vteřiny a pod.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT DATE_ADD('2009-01-02', INTERVAL 51 DAY); | 2009-02-22 přidá 51 dní k datumu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT DATE_ADD(razitko, INTERVAL 3 MONTH) FROM lidi; | přidá 3 měsíce k hodnotám ze sloupce razítko | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT DATE_SUB("2009-02-23 ", INTERVAL 18 YEAR); | 1991-02-23 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT DATE_SUB("2009-02-23 21:00:00", INTERVAL "15 21" DAY_HOUR); | 2009-02-08 00:00:00 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT DATE_SUB(curdate(), INTERVAL "15 21" DAY_HOUR); | odečte z aktuálního data "curdate()" 15 dní a 21 hodin | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TIMESTAMPADD | k aktálnímu datu přidá zadaný počet časových jednotek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntaxe | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT TIMESTAMPADD(hodnota,číslo,sloupec) FROM tabulka; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vysvětlení částí příkazu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
v závorce je nejdříve hodnota(rok,minuta-stejné jako u DATE_ADD), za čárkou následuje velikost hodnoty a za další čárkou je sloupec(řetězec),ke kteému se přidává | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT TIMESTAMPADD(HOUR,5,'2009-01-02'); | vytvoří datum ve formátu 2009-01-02 05:00:00 (přidá 5 hodin) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT TIMESTAMPADD(HOUR,5,'2009-01-02 04:00:00'); | 2009-01-02 09:00:00 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT TIMESTAMPADD(HOUR,5,razitko) FROM lidi; | 2009-02-23 14:22:26 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
. |
Funkce | Popis |
AVG | vypočítá průměrnou hodnotu v zadaným sloupci |
Syntaxe | |
SELECT AVG(sloupec) FROM tabulka; | |
Vysvětlení částí příkazu | |
za příkaz AVG uvedeme do závorky sloupec jehož průměrnou hodnotu chceme spočítat | |
Příklady | Výsledek |
SELECT AVG(plat) FROM lidi; | ze sloupce plat a tabulky lidi vypočítá průměrnou hodnotu |
. | |
Funkce | Popis |
COUNT | spočítá, kolik je ve sloupci obsazených(vyplněných) řádek |
Syntaxe | |
SELECT COUNT(sloupec) FROM tabulka; | |
Vysvětlení částí příkazu | |
za příkaz COUNT uvedeme do závorky sloupec jehož počet výskytů chceme spočítat | |
Příklady | Výsledek |
SELECT COUNT(plat) FROM lidi; | spočítá, kolik je ve sloupci plat obsazených(vyplněných) řádek |
. | |
Funkce | Popis |
COUNT(DISTINCT ) | spočítá, kolik je ve sloupci unikátních obsazených(vyplněných) řádek. Tj, když bude ve sloupci 5x hodnota 1000 a 1x hodnota 2000, tak příkaz vrátí výsledek 2 |
Syntaxe | |
SELECT COUNT(DISTINCT sloupec) FROM tabulka; | |
Vysvětlení částí příkazu | |
za příkaz COUNT uvedeme do závorky příkaz DISTINCT sloupec jehož počet výskytů chceme spočítat | |
Příklady | Výsledek |
SELECT COUNT(DISTINCT plat) FROM lidi; | spočátá nám, kolik je ve sloupci plat unikátních hodnot |
. | |
Funkce | Popis |
MAX | zobrazí ve sloupci položku s nejvyšší hodnotou. Můžeme je použít i pro textové řetězce,kdy zobrazí poslední možnou hodnotu ze sloupce podle daného COLLATION |
Syntaxe | |
SELECT MAX(sloupec) FROM tabulka; | |
Vysvětlení částí příkazu | |
za příkaz MAX uvedeme do závorky sloupec jehož maximální hodnotu chceme zjistit | |
Příklady | Výsledek |
SELECT MAX(plat) FROM lidi; | ukáže nám nejvyšší hodnotu ve sloupci plat |
. | |
Funkce | Popis |
MIN | zobrazí ve sloupci položku s nejnižší hodnotou. Můžeme je použít i pro textové řetězce,kdy zobrazí první možnou hodnotu ze sloupce podle daného COLLATION |
Syntaxe | |
SELECT MIN(sloupec) FROM tabulka; | |
Vysvětlení částí příkazu | |
za příkaz MIN uvedeme do závorky sloupec jehož minimální hodnotu chceme zjistit | |
Příklady | Výsledek |
SELECT MIN(plat) FROM lidi; | ukáže nám nejmenší hodnotu ve sloupci plat |
. | |
Funkce | Popis |
SUM | sečte hodnoty sloupce |
Syntaxe | |
SELECT SUM(sloupec) FROM tabulka; | |
Vysvětlení částí příkazu | |
za příkaz SUM uvedeme do závorky sloupec jehož součet chceme zjistit | |
Příklady | Výsledek |
SELECT SUM(plat) FROM lidi; | sečte hodnoty sloupce plat |
. | |
Funkce | Popis |
ABS | vypočítá absolutní hodnoty ze sloupců, tj ze záporných čísel udělá kladná a kladná nechá jak jsou |
Syntaxe | |
SELECT ABS(sloupec) FROM tabulka; | |
Vysvětlení částí příkazu | |
za příkaz ABS uvedeme do závorky sloupec jehož hodnoty převedeme na absolutní | |
Příklady | Výsledek |
SELECT ABS(plat) FROM lidi; | vypočítá absolutní hodnoty ze sloupce plat |
. | |
Funkce | Popis |
ROUND | zaokrouhlí sloupce na zadaný počet desetinných míst, pokud se neuvede počet desetinných míst, zaokrouhlí na celé číslo |
Syntaxe | |
SELECT ROUND(sloupec, 3) FROM tabulka; | |
Vysvětlení částí příkazu | |
za příkaz ROUND uvedeme do závorky sloupec jehož hodnoty budeme zaokrouhlovat. Za závorku můžeme volitelně uvést na kolik des. míst budeme zaokrouhlovat Pokud uvedeme záporné číslo, zaokrouhlujeme na desítky,stovky atd. POZOR desetinné číslo musí mít oddělovač des. míst tečku | |
Příklady | Výsledek |
SELECT ROUND(plat) FROM lidi; | hodnotu (42852.456987) ze sloupce plat zaokrouhlí na celé číslo - 42852 |
SELECT ROUND(plat, 3) FROM lidi; | hodnotu (42852.456987) ze sloupce plat zaokrouhlí na 3 des. čísla - 42852.457 |
SELECT ROUND(plat, -3) FROM lidi; | hodnotu (42852.456987) ze sloupce plat zaokrouhlí na tisíce - 43000 |
. | |
Funkce | Popis |
TRUNCATE | ořízne čísla za desetinnou čarkou. pokud Uvedeme v závorce za čárku číslo, ořízne se počet míst na zadanou hodnotu |
Syntaxe | |
SELECT TRUNCATE(sloupec, 3) FROM tabulka; | |
Vysvětlení částí příkazu | |
za příkaz TRUNCATE uvedeme do závorky sloupec jehož hodnoty budeme ořezávat. Za závorku můžeme volitelně uvést na kolik des. míst budeme ořezávat. Pokud uvedeme záporné číslo, zaokrouhlujeme na desítky,stovky atd-stejně jako přechozí. POZOR desetinné číslo musí mít oddělovač des. míst tečku,ale pokud neuvedeme na kolik des. míst budeme ořezávat, tak očekává čárku | |
Příklady | Výsledek |
SELECT TRUNCATE(plat) FROM lidi; | hodnotu (42852.456987) ze sloupce plat ořízne na číslo - 42852 |
SELECT TRUNCATE(plat, 3) FROM lidi; | hodnotu (42852.456987) ze sloupce plat ořízne na číslo - 42852.456 |
. | |
Funkce | Popis |
MOD | vypíše zbytky po dělení mezi první a druhou hodnotou |
Syntaxe | |
SELECT MOD(sloupec, "3") FROM tabulka; | |
Vysvětlení částí příkazu | |
za příkaz MOD uvedeme do závorky sloupec jehož hodnoty budeme dělit a za čárku hodnotu kterou dělíme | |
Příklady | Výsledek |
SELECT MOD(plat, "3") FROM lidi; | hodnotu (9001) ze sloupce plat vydělí 3 -zbytek po dělení je 1 |
. | |
Funkce | Popis |
PI | vypíše hodnotu pí na 6 des. míst |
Syntaxe | |
SELECT PI(); | |
Vysvětlení částí příkazu | |
hodnotu PI můžeme použít jako proměnnou | |
Příklady | Výsledek |
SELECT MOD(plat, PI()) FROM lidi; | vydělí hodnoty ze sloupce plat |
. | |
Funkce | Popis |
POW | spočítá mocninu, první číslo je mocněnec a druhé mocnitel |
Syntaxe | |
SELECT POW(sloupec, 2) FROM tabulka; | |
Vysvětlení částí příkazu | |
za příkaz POW uvedeme do závorky sloupec jehož hodnoty budeme umocnovat a za čárku uvedeme na kolikátou budeme mocnit | |
Příklady | Výsledek |
SELECT POW(plat, 3) FROM lidi; | hodnotu (1000) ze sloupce plat umocní na 3 -výsledek 1000000000 |
. | |
Funkce | Popis |
SQRT | vypočítá danou odmocninu čísla |
Syntaxe | |
SELECT SQRT(sloupec, 2) FROM tabulka; | |
Vysvětlení částí příkazu | |
za příkaz SQRT uvedeme do závorky sloupec jehož hodnoty budeme odmocnovat a za čárku uvedeme na kolikátou budeme odmocnit | |
Příklady | Výsledek |
SELECT SQRT(plat) FROM lidi; | hodnotu (1000000000) ze sloupce plat odmocní na 3 -výsledek 1000 |
. | |
Funkce | Popis |
RAND | vrátí náhodné číslo v rozmezí od 0 - 1 na 14 des. míst |
Syntaxe | |
SELECT RAND(); | |
Vysvětlení částí příkazu | |
pokud uvedeme do závorek nějaké číslo, vygeneruje se náhodné číslo, můžeme jej kdykoliv zopakovat stejným dotazem | |
Příklady | Výsledek |
SELECT RAND(); | 0.70504796011844 |
SELECT RAND(1); | 0.40540353712198 a kdykoliv použijeme dotaz s 1 v tomto sezení, vrátí to samé číslo |
. | |
Funkce | Popis |
SIN, COS, TAN, COT | vypočte sinus, cosinus, tangens a cotangens ze zadaných sloupců(výrazů) |
Syntaxe | |
SELECT SIN(sloupec) FROM tabulka; | |
Vysvětlení částí příkazu | |
do závorky uvedeme sloupec, jehož hodnotu budeme počítat pomocí goniometrických funkcí | |
Příklady | Výsledek |
SELECT SIN(plat) FROM lidi; | vypočte sínus z hodnot v tabulce lidi |
. |
Příkaz | Popis |
= | rovno |
Příklady | Popis příkladu |
SELECT prijmeni FROM lidi WHERE jmeno='jaroslav'; | vybere řádky sloupce příjmení, kterým odpovídá ve sloupci jmeno hodnota jaroslav |
. | |
Příkaz | Popis |
<=> | rovno -včetně hodnot NULL |
. | |
Příkaz | Popis |
<> nebo != | nerovno |
Příklady | Popis příkladu |
SELECT prijmeni FROM lidi WHERE jmeno!='jaroslav'; | vybere řádky sloupce příjmení, kterým NEodpovídá ve sloupci jmeno hodnota jaroslav |
. | |
Příkaz | Popis |
< | menší |
Příklady | Popis příkladu |
SELECT prijmeni FROM lidi WHERE plat < 250000; | vybere řádky sloupce příjmení, kterým odpovídá ve sloupci plat hodnota menší než 25000 |
. | |
Příkaz | Popis |
<= | menší nebo rovno |
Příklady | Popis příkladu |
SELECT prijmeni FROM lidi WHERE plat <= 250000; | vybere řádky sloupce příjmení, kterým odpovídá ve sloupci plat hodnota menší nebo rovno 25000 |
. | |
Příkaz | Popis |
> | věší |
Příklady | Popis příkladu |
SELECT prijmeni FROM lidi WHERE plat > 250000; | vybere řádky sloupce příjmení, kterým odpovídá ve sloupci plat hodnota větší než 25000 |
. | |
Příkaz | Popis |
>= | větší nebo rovno |
Příklady | Popis příkladu |
SELECT prijmeni FROM lidi WHERE plat >= 250000; | vybere řádky sloupce příjmení, kterým odpovídá ve sloupci plat hodnota větší nebo rovno 25000 |
. | |
Příkaz | Popis |
+ | součet |
Příklady | Popis příkladu |
SELECT plat+1000 FROM lidi; | připočte hodnotám ze sloupce plat 1000 |
. | |
Příkaz | Popis |
- | odečet |
Příklady | Popis příkladu |
SELECT plat-1000 FROM lidi; | odečte hodnotám ze sloupce plat 1000 |
. | |
Příkaz | Popis |
* | součin |
Příklady | Popis příkladu |
SELECT plat*10 FROM lidi; | vynásobí hodnoty ze sloupce plat 10x |
. | |
Příkaz | Popis |
/ | podíl |
Příklady | Popis příkladu |
SELECT plat/10 FROM lidi; | vydělí hodnoty ze sloupce plat 10x |
. | |
Příkaz | Popis |
/ | podíl |
Příklady | Popis příkladu |
SELECT plat%10 FROM lidi; | vydělí hodnoty ze sloupce plat 10x |
. | |
Příkaz | Popis |
% | zbytek po podílu |
Příklady | Popis příkladu |
. | |
Příkaz | Popis |
! nebo NOT | negace(zápor) |
Příklady | Popis příkladu |
SELECT prijmeni FROM lidi WHERE jmeno!='jaroslav'; | vybere řádky sloupce příjmení, kterým NEodpovídá ve sloupci jmeno hodnota jaroslav |
. | |
Příkaz | Popis |
|| nebo OR | logické nebo |
Příklady | Popis příkladu |
SELECT prijmeni FROM lidi WHERE jmeno='jaroslav' || jmeno='jiri'; | vybere řádky sloupce příjmení, kterým odpovídá ve sloupci jmeno hodnota jaroslav nebo jiri |
. | |
Příkaz | Popis |
&& nebo AND | logické ano ( a ) |
Příklady | Popis příkladu |
SELECT plat FROM lidi WHERE jmeno='jaroslav' AND prijmeni='votruba'; | vybere řádky sloupce plat, kterým odpovídá ve sloupci jmeno hodnota jaroslav a ve sloupci prijmeni hodnota votruba |
. | |
Příkaz | Popis |
WHERE | filtruje sloupce podle zadané hodnoty vyskytující se ve vybraném sloupci |
Příklady | Popis příkladu |
SELECT prijmeni FROM lidi WHERE jmeno='jaroslav'; | vybere řádky sloupce příjmení, kterým odpovídá ve sloupci jmeno hodnota jaroslav |
. | |
Příkaz | Popis |
BETWEEN [NOT] AND | vybere hodnoty mezi, nebo mimo (NOT) uvedené meze |
Příklady | Výsledek |
SELECT jmeno, plat BETWEEN 25000 AND 30000 FROM lidi; | vybere hodnoty z tabulky plat, jejichž rozsah je od 25 000 do 30 000 |
SELECT jmeno, plat NOT BETWEEN 25000 AND 30000 FROM lidi; | vybere hodnoty z tabulky plat, jejichž rozsah je mimo rozsah 25 000 do 30 000 |
. | |
Příkaz | Popis |
BETWEEN [NOT] AND | vybere hodnoty mezi, nebo mimo (NOT) uvedené meze |
Příklady | Výsledek |
SELECT jmeno, plat BETWEEN 25000 AND 30000 FROM lidi; | zobrazí seznam lidí a ti kteří mají plat mezi 25 000 a 30 000 budou mít u jména logickou 1, ostatní mají logiskou 0, NULL mají u jména NULL, Pokud použijeme podmínku NOT, obracíme výběr
| Alfred | 1 | | Petr | 1 | |
SELECT jmeno, plat NOT BETWEEN 25000 AND 30000 FROM lidi; | stejné jako předchozí,ale rozsah je mimo rozsah 25 000 do 30 000 |
SELECT jmeno, plat FROM lidi WHERE plat BETWEEN 21000 AND 30000; | Pokud použijeme konstrukci s WHERE, dostaneme na výstupu vyfiltrovaný výstup s hodnotami ze sloupce
| Alfred | 27000 | Petr | 29000 |
. | |
Příkaz | Popis |
[NOT] IN | do závorky definujeme jednotlivé hodnoty, kterým má výstup odpovídat. Pokud použijeme podmínku NOT, obracíme výběr |
Příklady | Výsledek |
SELECT jmeno, plat FROM lidi WHERE plat NOT IN(21000,27000); | vybere pouze lidi, kteří mají plat 21 000 a 27 000 kurun. |
. | |
Příkaz | Popis |
IS [NOT] NULL | vybere hodnoty ze sloupců, které nemají vloženu žádnou hodnotu. Pokud použijeme podmínku NOT, obracíme výběr |
Příklady | Výsledek |
SELECT jmeno, plat from lidi where plat is null; | |
. | |
Příkaz | Popis |
[NOT] LIKE | filtr podobný IN, ale do závorky můžeme vložit jen jednu podmínku.Pokud použijeme podmínku NOT, obracíme výběr.Procento "%" nahrazuje libovolný počet znaků, podtržítko "_" pouze jeden znak. |
Příklady | Výsledek |
SELECT jmeno, plat FROM lidi WHERE plat like('21000'); | zobrazí sloupce jmeno, plat, u u kterých je ve sloupci plat uvedena hodnota 21 000 |
SELECT jmeno, plat FROM lidi WHERE plat NOT like('2%'); | zobrazí sloupce jmeno, plat, u u kterých je ve sloupci plat uvedena hodnota začínající na 2 |
. | |
Příkaz | Popis |
REGEXP | filtrujeme podle ragulárních výrazů, přehled těchto výrazů je na stránce ZDE .Regulární výraz uzavíráme do uvozovek |
Příklady | Výsledek |
SELECT jmeno, plat FROM lidi WHERE plat REGEXP '^27'; | zobrazí sloupce jmeno, plat, u u kterých je ve sloupci plat uvedena hodnota mající na začátku 27 |
. |
_Znaková sada (CHARACTER SET )
ve které je DB, tabulka , nebo sloupec. V zasadě nic nebrání tomu, aby DB byla v jednom kodování (latin1), několik tabulek v druhém (UTF8) a sloupce ve třetím (cp866). Nicméně většinou stačí nastavit již při vytváření DB jedno kodování a to se dědičně promítne i do tabulek a sloupců. Kodování podporující české znaky jsou tyto:_Řazení (COLLATION)
které říká DB podle jaké znakové sady se bude výběr řadit. Na konci každého kodování bývá bud cs nebo ci._Kodování, v jakém očekává data klient
Funkce | Popis | |||||||||||||||
SHOW VARIABLES LIKE 'character_set_system'; | zobrazí v jakém kodování je celá MYSQL | |||||||||||||||
Příklady | Výsledek | |||||||||||||||
SHOW VARIABLES LIKE 'character_set_system'; | latin1 | |||||||||||||||
. | ||||||||||||||||
Funkce | Popis | |||||||||||||||
SHOW CHARACTER SET; | zobrazí seznam dostupných znakových sad | |||||||||||||||
Příklady | Výsledek | |||||||||||||||
SHOW CHARACTER SET; |
| |||||||||||||||
SHOW CHARACTER SET like 'cp%'; | vyfiltruje pouze kodování, která obsahují na začátku cp | |||||||||||||||
. | ||||||||||||||||
Funkce | Popis | |||||||||||||||
CHARSET | zobrazí v jakém kodování je sloupec | |||||||||||||||
Příklady | Výsledek | |||||||||||||||
SELECT CHARSET(jmeno) FROM lidi; | latin1 | |||||||||||||||
. | ||||||||||||||||
Příkaz | Popis | |||||||||||||||
CREATE DATABASE | vytvoří databázi | |||||||||||||||
Příklady | Popis příkladu | |||||||||||||||
CREATE DATABASE JmenoDB CHARACTER SET latin2 ; | vytvoří DB JmenoDB s kodováním latin2 | |||||||||||||||
. | ||||||||||||||||
Příkaz | Popis | |||||||||||||||
ALTER DATABASE | upravuje vlastnosti DB | |||||||||||||||
Příklady | Popis příkladu | |||||||||||||||
ALTER DATABASE JmenoDB CHARACTER SET latin2 ; | upraví DB JmenoDB na kodování latin2 | |||||||||||||||
. | ||||||||||||||||
Funkce | Popis | |||||||||||||||
CONVERT | převádí mezi jednotlivými znakovými sadami, sady si můžete vylistovat příkazem SHOW CHARSET; | |||||||||||||||
Syntaxe | ||||||||||||||||
SELECT CONVERT(sloupec USING kodovani) FROM tabulka; | ||||||||||||||||
Příklady | Výsledek | |||||||||||||||
SELECT CONVERT(jmeno USING utf8) FROM lidi; | hodnoty ze sloupce jmeno se překodují na UTF8 | |||||||||||||||
. | ||||||||||||||||
Příkaz | Popis | |||||||||||||||
SHOW CREATE DATABASE | vypíše jaké má daná DB kodování | |||||||||||||||
Příklady | Popis příkladu | |||||||||||||||
SHOW CREATE DATABASE pokusna; | pokusna | CREATE DATABASE `pokusna` /*!40100 DEFAULT CHARACTER SET latin1 */ | |||||||||||||||
. | ||||||||||||||||
Příkaz | Popis | |||||||||||||||
SHOW CREATE TABLE | vypíše jaké má daná DB kodování | |||||||||||||||
Příklady | Popis příkladu | |||||||||||||||
SHOW CREATE TABLE lidi; | CREATE TABLE `lidi` ( `sloupec` char(10) collate latin1_danish_ci default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_danish_ci | |||||||||||||||
. | ||||||||||||||||
Příkaz | Popis | |||||||||||||||
SHOW FULL COLUMNS | vytvoří databázi | |||||||||||||||
Příklady | Popis příkladu | |||||||||||||||
SHOW FULL COLUMNS FROM JmenoDB; | tímto si vylistujeme vlasnosti (a i kodování) sloupce | |||||||||||||||
. |
Příkaz | Popis | ||||||||||||||||||||||||||||||
SHOW VARIABLES like 'collation_server'; | zobrazí v jakém řazení je celá MYSQL | ||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||
Funkce | Popis | ||||||||||||||||||||||||||||||
SHOW COLLATION; | zobrazí kodování, které je možno použít | ||||||||||||||||||||||||||||||
Příklady | Výsledek | ||||||||||||||||||||||||||||||
SHOW COLLATION; | zkráceno
| ||||||||||||||||||||||||||||||
SHOW COLLATION LIKE 'utf8%'; | zúží výpis pouze na UTF8 | ||||||||||||||||||||||||||||||
. | |||||||||||||||||||||||||||||||
Příkaz | Popis | ||||||||||||||||||||||||||||||
CREATE DATABASE | vytvoří databázi | ||||||||||||||||||||||||||||||
Příklady | Popis příkladu | ||||||||||||||||||||||||||||||
CREATE DATABASE JmenoDB CHARACTER SET latin2 COLLATE latin2_czech_ci;; | vytvoří DB JmenoDB s kodováním latin2 a řazením latin2 | ||||||||||||||||||||||||||||||
. |
Funkce | Popis |
SHOW VARIABLES LIKE 'character_set_client' | zobrazí v jakém kodování je klient aktuálně přistupjící k mysql (pro nás je to příkazová řádnka) |
Příklady | Výsledek |
SHOW VARIABLES LIKE 'character_set_client'; | latin1 |
. | |
Funkce | Popis |
SET NAMES | nastavíme aktuálnímu klientovi v jakém kodování má očekávat a posílat data. Tento příkaz musíme uvést hned po přihlášení klienta k DB, pokud není nastaveno kodování defaultně |
Příklady | Výsledek |
SET NAMES utf8; | klient očekává a posílá data v UTF8. T |
. |
adresa | ID |
------------- | ------ |
Dvorec 12 | 1 |
Borovany 45 | 2 |
Trebec 18 | 3 |
NULL | 4 |
jmeno | prijmeni | ID |
------- | ---------- | ------ |
Jiri | Novak | 1 |
Jiri | Slepicka | 2 |
Jan | Prikryl | 3 |
Jiri | NULL | 5 |
jmeno | prijmeni | ID | adresa | ID |
------ | -------- | ---- | ----------- | ----- |
Jiri | Novak | 1 | Dvorec 12 | 1 |
Jiri | Slepicka | 2 | Borovany 45 | 2 |
Jan | Prikryl | 3 | Trebec 18 | 3 |
jmeno | prijmeni | adresa |
------ | -------- | ------------ |
Jiri | Novak | Dvorec 12 |
Jiri | Slepicka | Borovany 45 |
Jan | Prikryl | Trebec 18 |
jmeno | prijmeni | ID | adresa | ID |
------ | -------- | ---- | ----------- | ----- |
Jiri | Novak | 1 | Dvorec 12 | 1 |
Jiri | Slepicka | 2 | Dvorec 12 | 1 |
Jan | Prikryl | 3 | Dvorec 12 | 1 |
Jiri | NULL | 5 | Dvorec 12 | 1 |
Jiri | Novak | 1 | Borovany 45 | 2 |
Jiri | Slepicka | 2 | Borovany 45 | 2 |
Jan | Prikryl | 3 | Borovany 45 | 2 |
Jiri | NULL | 5 | Borovany 45 | 2 |
Jiri | Novak | 1 | Trebec 18 | 3 |
Jiri | Slepicka | 2 | Trebec 18 | 3 |
Jan | Prikryl | 3 | Trebec 18 | 3 |
Jiri | NULL | 5 | Trebec 18 | 3 |
Jiri | Novak | 1 | NULL | 4 |
Jiri | Slepicka | 2 | NULL | 4 |
Jan | Prikryl | 3 | NULL | 4 |
Jiri | NULL | 5 | NULL | 4 |
adresa | ID | jmeno | prijmeni | ID |
------------ | ---- | ----- | -------- | ----- |
Dvorec 12 | 1 | Jiri | Novak | 1 |
Borovany 45 | 2 | Jiri | Novak | 1 |
Trebec 18 | 3 | Jiri | Novak | 1 |
NULL | 4 | Jiri | Novak | 1 |
Dvorec 12 | 1 | Jiri | Slepicka | 2 |
Borovany 45 | 2 | Jiri | Slepicka | 2 |
Trebec 18 | 3 | Jiri | Slepicka | 2 |
NULL | 4 | Jiri | Slepicka | 2 |
Dvorec 12 | 1 | Jan | Prikryl | 3 |
Borovany 45 | 2 | Jan | Prikryl | 3 |
Trebec 18 | 3 | Jan | Prikryl | 3 |
NULL | 4 | Jan | Prikryl | 3 |
Dvorec 12 | 1 | Jiri | NULL | 5 |
Borovany 45 | 2 | Jiri | NULL | 5 |
Trebec 18 | 3 | Jiri | NULL | 5 |
NULL | 4 | Jiri | NULL | 5 |
jmeno | prijmeni | adresa |
------ | -------- | ------------ |
Jiri | Novak | Dvorec 12 |
Jiri | Slepicka | Dvorec 12 |
Jan | Prikryl | Dvorec 12 |
Jiri | NULL | Dvorec 12 |
Jiri | Novak | Borovany 45 |
Jiri | Slepicka | Borovany 45 |
Jan | Prikryl | Borovany 45 |
Jiri | NULL | Borovany 45 |
Jiri | Novak | Trebec 18 |
Jiri | Slepicka | Trebec 18 |
Jan | Prikryl | Trebec 18 |
Jiri | NULL | Trebec 18 |
Jiri | Novak | NULL |
Jiri | Slepicka | NULL |
Jan | Prikryl | NULL |
Jiri | NULL | NULL |
ID | jmeno | prijmeni | adresa |
----- | ----- | -------- | ------------ |
1 | Jiri | Novak | Dvorec 12 |
2 | Jiri | Slepicka | Borovany 45 |
3 | Jan | Prikryl | Trebec 18 |
jmeno | prijmeni | adresa |
------ | -------- | ------------ |
Jiri | Novak | Dvorec 12 |
Jiri | Slepicka | Borovany 45 |
Jan | Prikryl | Trebec 18 |
jmeno | prijmeni | ID | adresa | ID |
------ | -------- | ---- | ----------- | ----- |
Jiri | Novak | 1 | Dvorec 12 | 1 |
Jiri | Slepicka | 2 | Borovany 45 | 2 |
Jan | Prikryl | 3 | Trebec 18 | 3 |
Jiri | NULL | 5 | NULL | NULL |
jmeno | prijmeni | ID | adresa | ID |
------ | -------- | ---- | ----------- | ----- |
Jiri | Novak | 1 | Dvorec 12 | 1 |
Jiri | Slepicka | 2 | Borovany 45 | 2 |
Jan | Prikryl | 3 | Trebec 18 | 3 |
Jiri | NULL | 5 | NULL | NULL |
jmeno | prijmeni | adresa |
------ | -------- | ------------ |
Jiri | Novak | Dvorec 12 |
Jiri | Slepicka | Borovany 45 |
Jan | Prikryl | Trebec 18 |
NULL | NULL | NULL |
pocet stejnych jmen | jmeno |
-------------------- | ------ |
1 | Jan |
2 | Jiri |
pocet stejnych jmen | jmeno | prijmeni | adresa |
0 | NULL | NULL | NULL |
1 | Jan | Prikryl | Trebec 18 |
2 | Jiri | Novak | Dvorec 12 |
jmeno | prijmeni | homeless |
--------- | -------- | --------- |
Jan | Slepicka | Y |
Jiri | Koza | Y |
Jan | Prikryl | N |
Jiri | Novak | Y |
Jaroslav | Votruba | N |
bydli | kde |
------ | ----- |
N | 1 |
N | 3 |
N | 2 |
N | 4 |
adresa | ID |
----------------- | ----- |
Dvorec 12 | 1 |
Borovany 45 | 2 |
Trebec 18 | 3 |
Budejce, Nova 45 | 4 |
jmeno | prijmeni | adresa |
--------- | -------- | ---------- |
Jan | Prikryl | Dvorec 12 |
Jaroslav | Votruba | Dvorec 12 |
jmeno | prijmeni | adresa |
--------- | -------- | ----------------- |
Jaroslav | Votruba | Dvorec 12 |
Jaroslav | Votruba | Borovany 45 |
Jaroslav | Votruba | Trebec 18 |
Jaroslav | Votruba | Budejce, Nova 45 |
---------- | |||||
Field | Type | Null | Key | Default | Extra |
---------- | |||||
jmeno | varchar(20) | YES | NULL | ||
prijmeni | varchar(40) | YES | MUL | NULL | |
homeless | varchar(5) | YES | NULL | ||
---------- |
---------- | ||||||||
Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
---------- | ||||||||
jmeno | varchar(20) | latin1_swedish_ci | YES | NULL | select,insert,update,references | |||
prijmeni | varchar(40) | latin1_swedish_ci | YES | MUL | NULL | select,insert,update,references | ||
homeless | varchar(5) | latin1_swedish_ci | YES | NULL | select,insert,update,references | |||
---------- |
-------------- | |||
Table | Op | Msg_type | Msg_text |
-------------- | |||
pokusna.lidi | analyze | status | OK |
-------------- |
-------------- | |||
Table | Op | Msg_type | Msg_text |
-------------- | |||
pokusna.lidi | optimize | status | OK |
-------------- |
---- | |||||||||
id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
---- | |||||||||
1 | SIMPLE | lidi | ALL | NULL | NULL | NULL | NULL | 12 | |
---- |
--add-locks | Uzamkne a pak odemkne každou tabulku. |
--add-drop-table | Volba přidá příkazy DROP (smazání tabulky) do vygenerovaného souboru. Vkládání příkazu DROP je vhodné v případě, že chcete databázi při načítání ze zálohy kompletně přepsat. |
-A, --all-databases | Zazálohuje všechny databáze. Volba dělá to samé jako --databases nad vybranými databázemi. |
-B, --databases | Zazálohuje vyjmenované databáze.Názvy DB uvádíme za parametr a oddělujeme je MEZEROU. |
--compatible=název | Export je kompatibilní s následujícími formáty: ANSI, MYSQL1323, MYSQL140, POSTRGRESQL, ORACLE,MSSQL, DB2, MAXDB, NO_KEY_OPTIONS, nO_TABLE_OPTIONS, NO _FIELD_OPTIONS |
--complete_inserts | Vytvoří pro každý záznam samostatný příkaz INSERT |
--default-character-set=název | Export bude ve vybrané znakové sadě. |
-h | jméno hosta, defautně je localhost |
-K, --disable-keys | Indexy budou aktualizovány až po vložení záznamů, což je rychlejší |
-f, --force | Pokračuje v zálohování i pokud se vyskytnou chyby. Bez této volby backup skončí při nalezení chyby |
-x, --lock-all-tables | Uzamkne všechny tabulky pro celou DB. Takto se během zálohy žádná tabulka nezmění |
-l, --lock-tables | Volba pozamyká všechny tabulky v dané databází ještě před provedením zálohy. |
--no-create-db | Nezapisují se příkazy CREATE DATABASE. Ty se zapisují jen s paramatrem -B nebo -A |
--no-create-info | Nezapisují se příkazy INSERT, ale jen CREATE TABLE |
-d, --no-data | Nezapisují se pak žádná data. Volba je vhodná v případě uložení pouze struktury tabulek. |
-q, --quick | pokud se celá tabulka nevejde do paměti, je vhodné použít tuto volbu |
-T adresář, --tab=adresář | Zapíše data do vybraného adresáře, kde budou pro každou tabulku soubory *.sql (obsahující strukturu tabulky) a *.txt (data ve formátu SELECT INTO OUTFILE) |
-X, --xml | Vytvoří soubor XML s obsahem tabulky-neobsahuje informace o její struktuře |
--opt | To samé jako --quick --add-drop-table --add-locks --extended-insert --lock-tables. Jedná se o nejrychlejší zálohu co se týká načítání z MySQL serveru. Navíc si nemusíte pamatovat spoustu voleb, stačí si zapamatovat tuto "optimální", a tedy často používanou. |
-e, --extended-insert | Používá novou rychlejší syntaxi pro INSERT. |
-pyour_pass, --password[=your_pass] | "your_pass" je heslo pro přístup k databázi. |
-u user_name, --user=user_name | "user_name" je uživatelské jméno pro přístup k databázi. |
-d | Před začátkem importu odstraní všechna data z tabulky, do které bude import proveden. |
-f | Tento přepínač zajistí, že import bude pokračovat, i když dojde k nějaké chybě. |
-h | [název serveru] Nastaví název SQL serveru, kterému budete importovat data. Standardně je nastaven localhost. |
-i | Zajistí, aby byly ignorovány všechny záznamy, které mají stejný jedinečný klíč. |
-l | Na dobu importu uzamkne všechny tabulky, do kterých se bude importovat. |
-L | Příkaz mysqlimport použije při importu soubor z místního počítače. Nemusí jej proto nejdříve stahovat. |
-r | Nahradí v tabulce záznam, jehož jedinečná hodnota se shoduje. Opak přepínač –i. |
--fields-enclosed-by=znak | Znak, který uzavírá data polí. Standardně mysqlimport předpokládá, že nejsou uzavřena do žádných znaků, ale většinou se setkáte s tím, že jsou uzavřena do uvozovek. |
--fields-escaped-by=znak | Nastaví, který znak bude používán jako znak ukončení. Mysqlimport standardně neočekává žádný znak. |
--fields-terminated-by=znak | Určuje znak, který bude používán jako oddělovač jednotlivých polí. Většinou je tento znak čárka, ale mysqlimport implicitně očekává tabulátor. |
--lines-terminated-by=znak | Znak, která ukončuje záznam. Mysqlimport očekává implicitně znak nového řádku. |
-f | příkazy jsou provedeny i v případě chyb |
-i počet | opakuje příkaz v intervalu x sekund (podle zadaného počtu). Program se pak ukončuje příkazem Ctrl+C. |
-r | při kombinaci s volbou "i" a příkazem "extended-status" zobrazí změnu od předchozího stavu |
-E | stjné jako předcházející, ale výsledek je na jediném dlouhém řádku |
-t počet | doba ve vteřinách po kterou se pokuší příkaz provést |
-w počet | pokusí se x krát navázat spojení k serveru |
příkaz | SQL dotaz | popis |
create JmenoDB | CREATE DATABASE; | vytvoří DB |
drop JmenoDB | DROP DATABASE; | smaže DB |
extended-status | SHOW STATUS; | vypíše stavové proměnné |
flush-hosts | FLUSH HOSTS; | vyprázdní mezipamět |
flush-logs | FLUSH LOGS; | uzavře logy a vytvoří nový logový soubor |
flush-status | FLUSH STATUS; | vyresetuje stavové proměnné |
flush-tables | FLUSH TABLES; | uzavře všechny otevřené tabulky |
flush-threads | vyprázdní mezipamět vláken | |
flush-privileges | FLUSH-PRIVILEGES | znovunačte databázi oprávnění |
kill id1 id2... | uzavře vybraná vlákna | |
password nové-heslo | SET PASSWORD; | nastaví nové heslo aktuálního uživatele |
ping | otestuje, zda je DB přístupná. Příkaz selže, pokud na vzdáleném stroji nemáte oprávnění přistupovat z aktuálního stroje | |
processlist | SHOW THREADS; | zobrazí otevřená vlákna |
reload | stejné jako flush-privileges | |
refresh | zavře a znovu otevře všechny tabulky a soubor protokolů | |
shutdown | ukončí činnost serveru MYSQL | |
start-slave , stop-slave | spustí, nebo zastaví pobočný proces replikace | |
status | zobrazí dílčí info o stavu serveru | |
varibles | SHOW VARIABLES; | zobrazí systémové proměnné serveru MYSQL |
version | vypíše verzi MYSQL |
-c | zkontroluje integritu souborů |
-e | zkontroluje integritu souborů, ale důkladněji |
-F | zkontroluje pouze tabulky , které nebyly správně zavřeny |
-C | zkontroluje tabulky , které byly změněny od předchozí kontroly |
-f | restartuje sám sebe se zapnutou volbou -r , pokud narazí na chybu |
-i | zobrazí statistické údaje o tabulkách |
-m | zkontroluje integritu pomaleji nž volba -c , ale rychleji než -e |
-U | pokud narazí na chybu, označí soubor jako poškozený |
-T | read only-nemění obsah souboru |
-B | vytvoří záložní soubor *.bak |
-e | zkouší znovu vytvořit každý záznam, protože vzniká mnoho chyb, tak se nedoporučuje |
-f | přepíše dočasné soubory |
-l | nenásleduje symlinky |
-o | stejné jako -r , ale s jiným algoritmem |
-q | opraví pouze soubor indexu, soubor tabulek je nezměněn |
-q -q | stejné jako předcházející, ale soubor tabulek je nezměněn pokud nejsou hodnoty v klíčovém poli jedinečné |
-r | pokusí se opravit poškozené soubory |
-t cesta | pro dočasné soubory použije zadanou cestu |
-u cesta | dekomprimuje soubory, které byli ykomprimovány pomocí myisampack |
-a | analyzuje a uloží distribuci klíčových polí v indexu |
-A číslo | použije pro sloupec AUTO INCREMENT počáteční hodnotu, která je o 1 vyšší než naposledz použitá, případně zadané číslo (podle toho, které je vyšší) |
-d | zobrazuje údaje o tabulce |
-R | seřadí záznamy v tabulce podle indexu- může to urychlit čtení z tabulek |
-S | seřadí bloky v indexovém souboru |
-b | vytvoří záložní soubor |
-f | zkomprimuje soubor i pokud by měl být větší než původní |
-j | spojí všechny tabulky do jednoho souboru. Všechny sloupce musejí být stejně definované |
-t | spustí nástroj pouze v testovacím režimu |