Hvordan skrive SQL-skript

Kvinnehender som koder html og programmerer på skjermen laptop, web, utvikler.

Hvordan skrive SQL-skript

Bildekreditt: oatawa/iStock/GettyImages

SQL, eller Structured Query Language, som gjør det mulig å lage og redigere databaser, er et av de enkleste nettbaserte programmeringsspråkene å forstå. Likevel er det mange som ikke gidder å lære seg inn og ut av SQL fordi databasebehandlere som phpMyAdmin lar deg lage, redigere og vise tabeller uten å kjenne noen kode. Å lære å skrive dine egne SQL-skript er ikke for tidkrevende, og vil vise seg å være enormt nyttig når du lager datafylte nettsteder.

Utforsker SQL-syntaks

Lær riktig SQL-syntaks. Tradisjonelt er alle SQL-kommandoer store bokstaver, mens navnene på tabellene og alle dine personlige feltdata er med små bokstaver. Som i PHP ender alle utsagn med semikolon, men disse utsagnene kan brytes opp i separate linjer som du vil (for å hjelpe med lesbarheten).

Dagens video

Undersøker SQL-datatyper

Gjør deg kjent med SQL-datatyper – måten SQL identifiserer informasjonen du har i alle feltene i tabellene dine. De vanligste er INT (for heltall fra -2 milliarder til 2 milliarder), BIGINT (for heltall større eller mindre enn det), VARCHAR (tekst opp til 256 tegn) og TEXT (tekst opp til ca. 64 000 tegn).

Forstå behovet for primærnøkler. I praksis vil hver tabell du oppretter ha en "ID"-kolonne som inneholder et unikt nummer - merket med "primærnøkkelen" - for å sikre at ingen "post" (eller rad) er den samme.

Opprette en ny tabell

Lag en tabell i databasen ved å bruke CREATE TABLE-kommandoen. I løpet av øvelsen vil du ofte lage den samme tabellen om og om igjen, så det er ofte nyttig å gå foran det med DROP TABLE IF EXISTS-kommandoen slik at data ikke begynner å søle over og forvirre du. Her er det første du vil skrive for å lage en tabell kalt "filmer": SLIP TABELL HVIS FINNES filmer; LAG TABELL-filmer ();

Legg til feltnavn, eller kolonnenavn, i tabellen. Så langt er «filmer» helt tomt. For å fylle den med data om favorittfilmene dine, vil du kanskje ha en «Tittel»-kolonne, en «Regissør»-kolonne og en «År»-kolonne – i tillegg til «id»-kolonnen som inneholder primærnøkkelen. Du legger til denne informasjonen innenfor parentesen til CREATE TABLE-linjen.

Legg merke til at etter hvert feltnavn må du deklarere hva slags datatype det er. Videre, mens SQL automatisk bestemmer lengden på heltall, må du deklarere maksimal lengde på alle tekstdata. Så i koden ovenfor kan ikke oppføringer i "tittel"-feltet være lengre enn 60 tegn, og oppføringer i "direktører"-feltet kan ikke være lengre enn 30.

Sette inn data i tabellen

Legg til data i tabellene dine. Du har nå en tabell kalt "filmer" med kolonner for filmens primærnøkkel, tittel, regissør og år, men ingenting i disse kolonnene. For å legge til data, bruk INSERT INTO-kommandoen. Data settes inn én post (rad) om gangen. Så under all CREATE TABLE-koden ovenfra vil INSERT INTO-kommandoene se omtrent slik ut: INSERT INTO movies 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);

Bruk SELECT-kommandoen for å hente spesifikk informasjon fra en tabell. Når du bruker en databasebehandler som phpMyAdmin, lar dette deg raskt få dataene du trenger. Hvis du vil se på titlene på filmene i tabellen din, skriver du: VELG tittel FRA filmer; Hvis du vil se på en hel tabell, bruk en stjerne: VELG * FRA filmer; Hvis du ønsker å bli spesifikk, bruk WHERE-kommandoen: SELECT title FROM movies WHERE regissør = 'Alfred Hitchcock'; Det ville trekke opp navnet på hver film i tabellen regissert av Alfred Hitchcock. Hvis du bestemte deg for at du trengte en annen Hitchcock-film, bruk bare INSERT-kommandoen igjen: INSERT INTO movies VALUES (null, 'North by Northwest', 'Alfred Hitchcock', '1956');

Redigering av dataene dine

Rediger dataene dine ved å bruke UPDATE- og SET-kommandoene. I eksemplet ovenfor er datoen for "North by Northwest" satt til 1956. Det er feil; den ble faktisk utgitt i 1959. For å fikse feilen, ville du skrive: OPPDATERT filmer SET year = '1959' WHERE title = 'North by Northwest';

Slett data ved å bruke DELETE FROM-kommandoen. Hvis du bestemmer deg for at du ikke liker «Psycho» lenger og ønsker å bli kvitt den, vil du skrive: SLETT FRA filmer WHERE id = 3; Legg merke til i kommandoen ovenfor, "Psycho" slettes basert på primærnøkkelen, ikke tittelen. Du kan bare skrive: SLETT FRA filmer WHERE tittel = "Psycho"; Men hva om det var en annen film på bordet ditt kalt "Psycho" som du glemte? De ville begge bli slettet. Vær veldig forsiktig når du bruker DELETE.