Välkommen till whr.se, recensioner av webbhotell. I denna avdelning publicerar vi guider och artiklar runt webbteknik, programmering och marknadsföring på Internet bland annat.

Grundkurs i SQL

SQL står för Structured Query Language och är ett språk som används när du, användaren, ska ställa frågor till en databashanterare. Du använder alltså språket när du ska söka information i en databas. Att kunna hantera SQL är en fördel då det är det mest förekommande frågespråket i dagsläget. Det finns flera olika databasmotorer som stödjer SQL, en av de mest kända av dem är mySQL.

Mot Sql-databaser arbetar också php och asp.net, dessa två språk används annars främst för att bygga dynamiska hemsidor. En dynamisk hemsida är en sida vars innehåll ofta förändras, raderas och tilläggs. Asp.net kommer från ett programmeringsspråk medan php snarare är ett scriptspråk.

Nedan presenteras några av de vanligaste SQL-kommandona som finns. En viktig grundregel är att alla kommandon måste skrivas med versaler. Du bör också ha koll på att information given i bokstäver, som text och namn alltid anges inom apostrofer. Det gör inte siffror och nummer.

SELECT

När du öppnat databasen måste du berätta för den vilken typ av information det är du vill ta fram. Detta gör du genom att tala om vilka kolumner som ska aktiveras. Vi kan föreställa oss att du ska ta fram både för- och efternamn ur en adressbok. Det är då rimligen från kolumnerna med samma namn som informationen ska hämtas, då vi kan anta att det även finns fler kolumner innehållandes t.ex. adress, telefonnummer m.m.

För att aktivera de kolumner som du behöver för den information du kräver skriver du SELECT följt av mellanslag och de olika kolumnernas namn. Om vi antar att vi har en adressbok (tabell) i din databas ser det ut så här:

SELECT Fornamn, Efternamn FROM Adressbok

Vill du ha mer information fyller du således bara på med kolumnernas namn.

UPDATE

Om du måste förändra redan befintlig information i databasen använder du dig av UPDATE. Du måste alltid använda dig av kommandot WHERE i samband med att du använder dig av UPDATE, annars kommer inte databasen veta vad den ska uppdatera.

Om vi sedan föreställer oss att du ska uppdatera adressen på Anna Andersson i adressboken skriver du följande:

UPDATE Adressbok SET Address=’Hejgatan 7’
WHERE LastName=’Andersson’ AND FirstName=’Anna’

Nu vet databasen att det är Anna Andersson som ska få ”Hejgatan 7” tillagd som adress.

DELETE

Du kan självklart helt radera information. För att göra det använder du dig av begreppet DELETE. Tillvägagångssättet liknar det ovan mycket, skillnaden är egentligen att vi bara anger vad som ska raderas.

Säg att du vill radera alla som heter Andersson i efternamn, så skriver du på följande vis:

DELETE FROM Adressbok
WHERE Efternamn = ’Andersson’

INSERT

För att addera ny information på en ny rad till databasen använder du dig av INSERT INTO. Vi kan föreställa oss att du har träffat en kvinna som heter Marit Andersson och nu vill föra i henne i din adressbok.

INSERT INTO Adressbok (Fornamn, Efternamn) VALUES (’Marit’, ’Andersson’)

WHERE

När du ska hämta ett värde är du oftast intresserad av en viss kolumn. För att begränsa hämtningen till endast den kolumn som du är intresserad av använder du dig av kommandot WHERE. Det innebär att vi kan definiera var vi vill söka efter eller förändra information. Vi kan här använda oss av samma exempel som ovan vid DELETE.

DELETE FROM Adressbok
WHERE Efternamn = ’Andersson’

Vi måste berätta var databasen ska radera information, i det här fallet är det från efternamn och det specifika namnet Andersson.

AND

AND används för att kombinera två booleska uttryck. När du använder dig av AND får du TRUE som svar om både villkoren är sanna. Du kan använda dig av AND om du t.ex. bara vill ta fram de som heter Anna Andersson ur adressboken.

SELECT Fornamn, Efternamn FROM Adressbok
WHERE Fornamn=’Anna’
AND Efternamn=’Andersson’

Vi vill välja ut den informationen som finns om de/dem som både heter Anna och Andersson, därför används AND.

OR

OR används för att kombinera två villkor. Du kan använda dig av OR när du vill ta fram de personer i adressboken som heter t.ex. Anna eller Kalle.

SELECT Fornamn, Efternamn FROM Person
WHERE Fornamn=’Anna’
OR Efternamn=’Andersson’

I det här exemplet vill vi ta fram de som heter Anna i förnamn eller Andersson i efternamn.

ORDER BY

När du sökt något som finns på mer än en rad i databasen kommer du självklart att få flera rader med information presenterad. Eftersom de inte alltid ligger i den ordning du vill ha dem måste du tala om för databasen i vilken ordning du vill få dem presenterade.

Om du t.ex. vill att ditt resultat ska sorteras efter efternamn skriver du:

ORDER BY Efternamn

Efternamnen kommer nu att presenteras i bokstavsordning. Detta går att reglera med hjälp av kommandot DESC (som står för descending: fallande; detta är motsatsen till kommandot ASC som betyder ascending: stigande). Hela satsen ser då ut så här:

ORDER BY Efternamn DESC

Du har nu lite grunder för att kunna söka i en databas som t.ex. mySQL med hjälp av SQL. Se fler kommandon på w3cschools SQL sida.

Publicerad 2010-07-02. Kategori Guider.


Skriv en kommentar eller en fråga

This blog is kept spam free by WP-SpamFree.