Jak psát SQL skripty
Kredit obrázku: oatawa/iStock/GettyImages
SQL nebo Structured Query Language, který umožňuje vytváření a úpravy databází, je jedním z nejsnáze pochopitelných webových programovacích jazyků. Přesto se mnoho lidí neobtěžuje učit se detaily SQL, protože správci databází, jako je phpMyAdmin, vám umožňují vytvářet, upravovat a prohlížet tabulky, aniž byste znali jakýkoli kód. Naučit se psát své vlastní SQL skripty není příliš časově náročné a ukáže se jako nesmírně užitečné při vytváření webů plných dat.
Zkoumání syntaxe SQL
Naučte se správnou syntaxi SQL. Tradičně jsou všechny příkazy SQL psány velkými písmeny, zatímco názvy vašich tabulek a všechna vaše osobní data polí jsou malá. Stejně jako v PHP končí všechny příkazy středníkem, ale tyto příkazy lze rozdělit na samostatné řádky, jak chcete (pro usnadnění čitelnosti).
Video dne
Zkoumání datových typů SQL
Seznamte se s datovými typy SQL – způsob, jakým SQL identifikuje informace, které máte ve všech polích v tabulkách. Nejběžnější jsou INT (pro celá čísla v rozmezí od -2 miliard do 2 miliard), BIGINT (pro celá čísla větší nebo menší, VARCHAR (text do 256 znaků) a TEXT (text do asi 64 000 znaků).
Pochopte potřebu primárních klíčů. V praxi bude mít každá tabulka, kterou vytvoříte, sloupec „ID“ obsahující jedinečné číslo – označené jako „primární klíč“ – aby se zajistilo, že žádný „záznam“ (nebo řádek) nebude stejný.
Vytvoření nové tabulky
Vytvořte tabulku v databázi pomocí příkazu CREATE TABLE. Během cvičení budete často vytvářet stejnou tabulku znovu a znovu, takže je to často užitečné předcházet tomu příkazem DROP TABLE IF EXISTS, aby se data nezačala přelévat a mást vy. Zde je první věc, kterou byste napsali, abyste vytvořili tabulku nazvanou "filmy": DROP TABLE IF EXISTS movies; CREATE TABLE filmy ();
Přidejte do tabulky názvy polí nebo sloupců. Zatím jsou "filmy" úplně prázdné. Chcete-li jej vyplnit údaji o svých oblíbených filmech, možná budete chtít sloupec „Název“, sloupec „Režisér“ a sloupec „Rok“ – kromě sloupce „id“, který obsahuje primární klíč. Tyto informace přidáte do závorek řádku CREATE TABLE.
Všimněte si, že za každým názvem pole musíte deklarovat, o jaký typ dat se jedná. Kromě toho, zatímco SQL automaticky určuje délku celých čísel, musíte deklarovat maximální délku všech textových dat. Ve výše uvedeném kódu tedy položky v poli „title“ nemohou být delší než 60 znaků a položky v poli „directors“ nemohou být delší než 30.
Vkládání dat do vaší tabulky
Přidejte data do svých tabulek. Nyní máte tabulku nazvanou „filmy“ se sloupci pro primární klíč filmu, název, režiséra a rok, ale v těchto sloupcích nic. Chcete-li přidat data, použijte příkaz INSERT INTO. Data se vkládají po jednom záznamu (řádku). Takže pod veškerým kódem CREATE TABLE shora by příkazy INSERT INTO vypadaly asi takto: INSERT INTO movie VALUES (null, 'Casablanca', 'Michael Curtiz', 1942); INSERT INTO movies VALUES (null, 'Star Wars', 'George Lucas', 1977); INSERT INTO movies VALUES (null, 'Psycho', 'Alfred Hitchcock', 1960);
Pomocí příkazu SELECT vytáhněte konkrétní informace z tabulky. Když používáte správce databází, jako je phpMyAdmin, umožňuje vám to rychle získat data, která potřebujete. Pokud se chcete podívat na názvy filmů ve vaší tabulce, napište: SELECT title FROM movies; Pokud se chcete podívat na celou tabulku, použijte hvězdičku: SELECT * FROM videos; Pokud chcete být konkrétní, použijte příkaz WHERE: SELECT title FROM movies WHERE director = 'Alfred Hitchcock'; To by vytáhlo jméno každého filmu ve vaší tabulce režírovaného Alfredem Hitchcockem. Pokud jste se rozhodli, že potřebujete další Hitchcockův film, použijte znovu příkaz INSERT: INSERT INTO movies VALUES (null, 'North by Northwest', 'Alfred Hitchcock', '1956');
Úprava vašich dat
Upravte svá data pomocí příkazů UPDATE a SET. Ve výše uvedeném příkladu je datum pro „North by Northwest“ nastaveno na rok 1956. To je nesprávné; ve skutečnosti byla vydána v roce 1959. Chcete-li chybu opravit, napište: AKTUALIZACE NASTAVENÍ filmů rok = '1959' WHERE title = 'North by Northwest';
Odstraňte data pomocí příkazu DELETE FROM. Pokud se rozhodnete, že už vás "Psycho" nebaví a chcete se ho zbavit, napsali byste: VYMAZAT Z filmů KDE id = 3; Všimněte si, že ve výše uvedeném příkazu je „Psycho“ odstraněno na základě svého primárního klíče, nikoli názvu. Mohli byste napsat: DELETE FROM movies WHERE title = "Psycho"; Co kdyby však ve vaší tabulce byl další film s názvem „Psycho“, na který jste zapomněli? Oba by byli smazáni. Při používání DELETE buďte velmi opatrní.