Získejte konzultaci v hodnotě 1 500 Kč k vaší databázi Oracle zcela zdarma. Ozvěte se mi ještě dnes.

Získání dat se řídí syntaxi SQL, proto zde nebudu dělat základní SQL dotazy. Možná, že někdy v budoucnu udělám tutoriál na SQL, ale na netu toho je plno, takže mě to připadá zbytečné.
Takže jen pár zajimavých dotazů.

Datum
Pří hledání není potřeba zadávat další převodní funkce.
mysql> SELECT last_name, first_name, birth FROM president
-> WHERE birth < ‚1750-1-1‘;
+————+————+————+
| last_name | first_name | birth |
+————+————+————+
| Washington | George | 1732-02-22 |
| Adams | John | 1735-10-30 |
| Jefferson | Thomas | 1743-04-13 |
+————+————+————+
3 rows in set (0.01 sec)

NULL
Je nedefinovaná hodnota, tudíž ji nelze sni porovnávat.
mysql> SELECT NULL < 0, NULL = 0, NULL <> 0, NULL > 0;
+———-+———-+———–+———-+
| NULL < 0 | NULL = 0 | NULL <> 0 | NULL > 0 |
+———-+———-+———–+———-+
| NULL | NULL | NULL | NULL |
+———-+———-+———–+———-+
1 row in set (0.00 sec)

mysql> SELECT NULL = NULL, NULL <> NULL;
+————-+————–+
| NULL = NULL | NULL <> NULL |
+————-+————–+
| NULL | NULL |
+————-+————–+
1 row in set (0.00 sec)

Použití NULL v podmínce
mysql> SELECT last_name, first_name, suffix
-> FROM president WHERE suffix IS NOT NULL;
+———–+————+——–+
| last_name | first_name | suffix |
+———–+————+——–+
| Carter | James E. | Jr. |
+———–+————+——–+
1 row in set (0.00 sec)

Příklad jak třídit dle sloupce, který obsahuje hodnotu NULL. Podmínka IF přiřadí hodnotu 0 nebo 1 v závislosti, jestli sloupec death je NULL či nikoli.
Proto je NULL na začátku a až potom sestupně tříděné datumy prezidentů.

mysql> SELECT last_name, first_name, death FROM president
-> ORDER BY IF(death IS NULL,0,1), death DESC;
+————+—————+————+
| last_name | first_name | death |
+————+—————+————+
| Clinton | William J. | NULL |
| Bush | George H.W. | NULL |
| Carter | James E. | NULL |
| Bush | George W. | NULL |
| Ford | Gerald R. | 2006-12-26 |
| Reagan | Ronald W. | 2004-06-05 |
| Nixon | Richard M. | 1994-04-22 |

| Adams | John | 1826-07-04 |
| Washington | George | 1799-12-14 |
+————+—————+————+

LIMIT

Je-li výsledný report dlouhý a vás zajimá například posledních 5 záznamů, přidejte klauzuli LIMIT.
mysql> SELECT last_name, first_name, birth FROM president
-> ORDER BY birth LIMIT 5;
+————+————+————+
| last_name | first_name | birth |
+————+————+————+
| Washington | George | 1732-02-22 |
| Adams | John | 1735-10-30 |
| Jefferson | Thomas | 1743-04-13 |
| Madison | James | 1751-03-16 |
| Monroe | James | 1758-04-28 |
+————+————+————+
Výpis posledních 5-ti záznamů z 42, seřazených od posledního.

RAND

Vyběr náhodného záznamu.
mysql> SELECT last_name, first_name FROM president
-> ORDER BY RAND() LIMIT 1;
+———–+————+
| last_name | first_name |
+———–+————+
| Van Buren | Martin |
+———–+————+
1 row in set (0.00 sec)

Samozřejmně jsou k dispozici i příkazy pro třídení, matematické operace, práce s textovými řetězci, různé druhy join atd. tabulky, indexy, view, partitioning atd
To vše jsou věci týkající se SQL, ke kterým se třeba později vrátím.

Mě v tuto chvíli zajímá administrace nebo jiné zajimavé vlastnosti MySQL



Komentáře