|
||||||||||||||||||||||||||||||||||||||||||||||||
Menu
Distributions (131)
Software (10844)
|
MySQL (12) - tipy k tvorbě tabulekMySQL, tabulky a speciality - automaticky číslovaná pole, dočasné tabulky a tak dále.
Stejně, jako je tomu v kterémkoli zákoutí práce s počítačem, má i
tvorba tabulek v databázích svoji "třináctou komnatu". Proto se dnes
podíváme na některé podrobnosti práce s tabulkami, které se vám v
praxi mohou velmi hodit.
Seznam tabulekMySQL, stejně jako prakticky každá jiná databáze, má příkaz, kterým
zobrazíte seznam existujících tabulek v databázi. Provedete to pomocí
tohoto kódu: SHOW TABLES; Aby to fungovalo, musíte mít zvolenu nějakou databázi. Jinými slovy, bezprostředně po přihlášení k serveru, pokud nepoužijete příkaz USE [název databáze], tak to selže. Příkaz SHOW TABLES má ovšem určité rozšíření, které trochu popírá předchozí větu - ono to totiž jde napsat takto: SHOW TABLES FROM SHOP; A pak je samozřejmě úplně jedno, v jaké databázi jsme, protože budou
vypsány tabulky ze zvolené databáze. Pozn.: Seznam tabulek v nějaké
databázi je typickým příkladem toho, čemu se říká metadata, neboli
"data o datech". Pokud se budete věnovat databázím hlouběji, zjistíte,
že porozumět metadatům a umět s nimi pracovat je docela důležité.
Například v úlohách typu import - export dat a podobně. Dočasné tabulkyDočasné tabulky se od "trvalých" tabulek liší především tím, že existují pouze od jejich vytvoření do ukončení spojení, které je má "na svědomí". Tedy - jakmile zanikne připojení, zaniknou i všechny dočasné tabulky, které během tohoto spojení vznikly. Vytvořit dočasnou tabulku přitom není nikterak složité. Stačí zavzpomínat na minulý díl a doplnit, že při manipulaci s dočasnými tabulky se mezi CREATE a TABLE vloží klíčové slovo TEMPORARY: CREATE TEMPORARY TABLE
PENIZE (MNOZSTVI int); Většina z toho, co platí o normálních tabulkách, platí i o tabulkách dočasných. To například znamená, že můžete použít rozšíření IF NOT EXISTS, jak o něm byla řeč v minulém díle. Stejně tak lze vytvořit dočasnou tabulku kopírováním existující (a to jak dočasné, tak trvalé) tabulky nějak takto: CREATE TEMPORARY TABLE
PENIZE2 LIKE PENIZE; Ovšem, používání dočasných tabulek má rovněž svoje záludnosti. O
nich byste měli něco vědět, pokud je chcete používat. Tak především,
narozdíl od trvalých tabulek mohou dvě různá připojení vytvořit dvě
dočasné tabulky se stejným názvem (aniž by to kolidovalo). To je celkem
příjemné. Vyplývá z toho, že pokud víte, že jste určitě nevytvářeli
dočasnou tabulku nějakého jména, prakticky nikdy nemusíte používat
klauzuli IF NOT EXISTS. Další věc - dočasné tabulky se neobjevují ve
výpise tabulek pořízeného pomocí příkazu SHOW TABLES. A nakonec, manuál
tvrdí, že mohou existovat další
omezení. Proč by mohl někdo chtít používat dočasné tabulky? V praxi je
používám ve třech případech:
Pozn.: Uvedené zásady byste něměli chápat jako definitivní. Existuje totiž celá řada dalších mechanizmů, které řeší některé z problémů popsaných výše (indexy, pohledy atd.). Chtěl jsem jen, abyste měli představu, k čemu se dočasné tabulky dají použít. Automaticky číslovaná poleV tabulkách bývá, a to velmi často, pole jednoznačně identifikující daný řádek. V různých DBMS se vytvářejí různě, většinou jako náhodná čísla nebo sekvence. Typické je, že existuje pole, které automaticky s každým přidaným řádkem zvýší čítač o jedničku. MySQL má podporu pro tuto funkci. Ačkoli to souvisí s indexy, o nichž teprve v seriálu bude řeč, již teď vám ukážu, jak se automaticky číslované pole vytvoří: CREATE TABLE cislovani
(id INT AUTO_INCREMENT, PRIMARY KEY (id)); K tomu si dovolím několik postřehů:
Automatická čísla se v tabulkách MySQL používají velmi často. Je to
jednoduše řečeno proto, že prakticky v každé tabulce existuje důvod mít
jednoznačně identifikované řádky. Přejmenování tabulky
|
|
||
DISCUSSION
For this item is no comments. |
||
Add comment is possible for logged registered users.
|
1. |
Pacman linux Download: 4879x |
2. |
FreeBSD Download: 9067x |
3. |
PCLinuxOS-2010 Download: 8564x |
4. |
alcolix Download: 10949x |
5. |
Onebase Linux Download: 9661x |
6. |
Novell Linux Desktop Download: 0x |
7. |
KateOS Download: 6245x |
1. |
xinetd Download: 2413x |
2. |
RDGS Download: 937x |
3. |
spkg Download: 4761x |
4. |
LinPacker Download: 9967x |
5. |
VFU File Manager Download: 3199x |
6. |
LeftHand Mała Księgowość Download: 7203x |
7. |
MISU pyFotoResize Download: 2809x |
8. |
Lefthand CRM Download: 3563x |
9. |
MetadataExtractor Download: 0x |
10. |
RCP100 Download: 3121x |
11. |
Predaj softveru Download: 0x |
12. |
MSH Free Autoresponder Download: 0x |