Hur man skriver SQL-skript
Bildkredit: oatawa/iStock/GettyImages
SQL, eller Structured Query Language, som gör det möjligt att skapa och redigera databaser, är ett av de enklaste webbaserade programmeringsspråken att förstå. Ändå bryr sig många människor inte om att lära sig detaljerna i SQL eftersom databashanterare som phpMyAdmin låter dig skapa, redigera och visa tabeller utan att känna till någon kod. Att lära sig att skriva dina egna SQL-skript är inte alltför tidskrävande och kommer att visa sig vara oerhört användbart när du skapar datafyllda webbplatser.
Utforska SQL-syntax
Lär dig korrekt SQL-syntax. Traditionellt är SQL-kommandon alla versaler, medan namnen på dina tabeller och alla dina personliga fältdata är i gemener. Som i PHP slutar alla påståenden med semikolon, men dessa påståenden kan delas upp i separata rader som du vill (för att underlätta läsbarheten).
Dagens video
Undersöker SQL-datatyper
Bekanta dig med SQL-datatyper – hur SQL identifierar informationen du har i alla fält i dina tabeller. De vanligaste är INT (för heltal från -2 miljarder till 2 miljarder), BIGINT (för heltal större eller mindre än så), VARCHAR (text upp till 256 tecken) och TEXT (text upp till cirka 64 000 tecken).
Förstå behovet av primärnycklar. I praktiken kommer varje tabell du skapar att ha en "ID"-kolumn som innehåller ett unikt nummer - märkt "primärnyckeln" - för att säkerställa att ingen "post" (eller rad) är densamma.
Skapa en ny tabell
Skapa en tabell i din databas genom att använda kommandot CREATE TABLE. Under din träning kommer du ofta att skapa samma tabell om och om igen, så det är ofta till hjälp att föregå det med kommandot DROP TABLE IF EXISTS så att data inte börjar spilla över och förvirra du. Här är det första du skulle skriva för att skapa en tabell som heter "filmer": SLIPP TABELL OM FINNS filmer; SKAPA TABELL-filmer ();
Lägg till fältnamn, eller kolumnnamn, i tabellen. Än så länge är "filmer" helt tomt. För att fylla den med data om dina favoritfilmer, kanske du vill ha kolumnen "Titel", en "Regissör"-kolumn och en "År"-kolumn - förutom kolumnen "id" som innehåller primärnyckeln. Du lägger till denna information inom parentesen på raden CREATE TABLE.
Observera att efter varje fältnamn måste du deklarera vilken typ av datatyp det är. Dessutom, medan SQL automatiskt bestämmer längden på heltal, måste du deklarera den maximala längden på all textdata. Så i ovanstående kod får inte poster i fältet "titel" vara längre än 60 tecken och poster i fältet "direktörer" får inte vara längre än 30.
Infoga data i din tabell
Lägg till data i dina tabeller. Du har nu en tabell som heter "filmer" med kolumner för filmens primärnyckel, titel, regissör och år, men ingenting i dessa kolumner. För att lägga till data, använd kommandot INSERT INTO. Data infogas en post (rad) i taget. Så under all CREATE TABLE-kod från ovan skulle INSERT INTO-kommandona se ut ungefär så här: INSERT INTO movies VALUES (null, 'Casablanca', 'Michael Curtiz', 1942); INSERT INTO movies VALUES (null, 'Star Wars', 'George Lucas', 1977); INSERT I movies VALUES (null, 'Psycho', 'Alfred Hitchcock', 1960);
Använd kommandot SELECT för att hämta specifik information från en tabell. När du använder en databashanterare som phpMyAdmin kan du snabbt få den data du behöver. Om du vill titta på titlarna på filmerna i din tabell, skulle du skriva: VÄLJ titel FRÅN filmer; Om du vill titta på en hel tabell, använd en asterisk: VÄLJ * FRÅN filmer; Om du vill bli specifik, använd WHERE-kommandot: SELECT title FROM movies WHERE director = 'Alfred Hitchcock'; Det skulle dra upp namnet på varje film i ditt bord regisserad av Alfred Hitchcock. Om du bestämde dig för att du behövde en till Hitchcock-film, använd bara kommandot INSERT igen: INSERT INTO movies VALUES (null, 'North by Northwest', 'Alfred Hitchcock', '1956');
Redigera dina data
Redigera dina data med kommandona UPDATE och SET. I exemplet ovan är datumet för "North by Northwest" satt till 1956. Det är felaktigt; den släpptes faktiskt 1959. För att åtgärda misstaget skulle du skriva: UPPDATERA filmer SET år = '1959' WHERE title = 'North by Northwest';
Radera data genom att använda kommandot DELETE FROM. Om du bestämmer dig för att du inte gillar "Psycho" längre och vill bli av med den, skulle du skriva: DELETE FROM movies WHERE id = 3; Observera i ovanstående kommando, "Psycho" raderas baserat på dess primärnyckel, inte dess titel. Du kan bara skriva: DELETE FROM movies WHERE title = "Psycho"; Men tänk om det fanns en annan film i ditt bord som heter "Psycho" som du glömt bort? De skulle båda raderas. Var mycket försiktig när du använder DELETE.