Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Artiklar / Titel på artikeln

Structured Query Language

Postad 2001-01-21 av Michael Karlsson i sektionen ASP.NET, C#, Okategoriserat med 0 Kommentarer | Läst av: 4053, Betyg: 80%

Förord

SQL står för Structured Query Language, och översättes bäst till strukturerat frågespråk. Jag tar inte upp och berättar något speciellt om databaser, för jag förutsätter att de som håller på att lära sig SQL redan vet hur en databas fungerar och hur den används.
Innehåll
  » LIKE
  » WHERE
  » BETWEEN
  » DISTINCT
  » IN
  » ORDER BY
  » INBYGGDA FUNKTIONER I SQL
  » UNION
  » FÖRÄNDRA DATABASEN
  » DELETE
  » INSERT
  » UPDATE
Jag börjar då med sökningarna i en tabell. Låt oss säga att vi har en tabell med namnet adressbok, som på ett ungefär ser ut som nedan:





































NAMNADRESSTELEPERSONNR
Michael KarlssonStenbocksgatan 2c05644-55622821222
Anders SvenssonEdringatan 12066-66647780323
Lisa EklundDromedarstigen 308-786442850506
Pär SundgrenSenagsgatan 450745-655123450709
Greta NordströmFabriksgatan 1008-5555666120907


För att få alla listade använder man då:


SELECT * FROM adressbok


Om man nu t.ex. vill lista alla personer som har ett –son namn så skriver man


SELECT * FROM adressbok WHERE namn LIKE ”%son”

Då visas alla namnen som slutar på son. Som ni såg ovan så använda jag två ord som jag ännu inte nämnt något om, dessa är LIKE och WHERE. Jag börjar med att gå igenom LIKE.


LIKE

LIKE används då till att lista fram något när man som ovan bara söker efter en del av det hela. LIKE´s syntax ser ut som nedan: Kolumnnamn [NOT] LIKE sträng

Och LIKE innehåller då också två stycken specialtecken. Dessa två är
_ Och det betyder ett valfritt tecken
% Betyder 0, ett eller flera valfria tecken.

Om man söker efter alla i en databas som heter *arlsson(första bokstaven borträknad) så kör man denna sträng:


SELECT * FROM adressbok WHERE namn LIKE “_arlsson”.



WHERE

När man använder WHERE finns det olika operatorer. Dessa är






























OPERATORBETYDELSE
=Lika med
<>Skilt från
>Mer än
<Mindre än
<=Mindre än eller lika med
>=Större än eller lika med


För att lista alla personer från adressboken ovan som är födda efter 75 skriver man då alltså


SELECT * FROM adressbok WHERE persnr >= 750000

Då visas alla som är födda från 1975 och framåt.


BETWEEN

Om man då vill visa alla de som är födda mellan 1978 och 1985 så ser det ut såhär:


SELECT * FROM adressbok BETWEEN 780000 AND 850000.


Syntaxen för BETWEEN är


Uttryck1[NOT] BETWEEN uttryck2 AND uttryck 3


DISTINCT

Om hela familjen Karlsson hade varit med på listan, och alla hade bott på samma adress, så hade det ibland varit onödigt att lista ut deras adress ett flertal gånger. För att undvika detta kan då DISTINCT användas. DISTINCT är mycket lätt att använda, i detta fallet hade den sett ut såhär.


SELECT DISTINCT FROM adress FROM adressbok


IN



























NAMNBOR
MichaelTyringe
ChristerRögle
MarianneStockholm
RichardTyringe
ChristianStockholm


IN kan användas vid matchning av ett värde mot en lista av värden. Syntaxen för IN är.


Uttryck[NOT] IN(lista med värden)

Nu vill vi visa alla som kommer från Tyringe och Stockholm. Det gör vi lätt med


SELECT namn FROM boadress WHERE bor IN(“Stockholm”, “Tyringe”)

Resultatet blir då:




















NAMNBOR
MichaelTyringe
RichardTyringe
ChristianStockholm
MarianneStockholm



ORDER BY

För att sortera resultatet använder man ORDER BY. Syntaxen ser ut som nedan:
ORDER BY kolumnspecifikation [ASC eller DESC]

Som ni nu ser så använda jag ASC och DESC. Det är stigande eller fallande.

Om jag alltså skriver SELECT namn, tele FROM adressbok ORDER BY tele DESC så betyder det att det högsta talet står längst upp, och det lägsta längst nere. Om jag istället använt ASC, så hade det varit tvärtom.


INBYGGDA FUNKTIONER I SQL


I SQL finns det en del funktioner som är inbyggda. Rättare sagt, det finns fem stycken.










NAMNBETYDELSE
SumSummerar värdet i kolumnerna
MinHämtar det minsta värdet
MaxHämtar det största värdet
AVGHämtar medelvärdet
CountRäknar antalet. Kan användas på två sätt, count(*) som då räknar antal rader, och Count(DISTINCT kolumnnamn) som räknar unika rader


Ett exempel.
Låt oss säga att i en databas har vi 7 stycken som tjänar 70:- i timmen, och 12 som tjänar 110:- i timmen. Om vi nu ska räkna ihop alla som tjänar 70:- så blir det


SELECT COUNT(*) FROM databas


UNION

Med UNION kan man lägga ihop två olika tabeller, och jag ska nu visa ett lätt exempel på det hela.


SELECT adress FROM person WHERE bor = ”Tyringe”
UNION
SELECT adress FROM annan WHERE bor = “Tyringe”

Ni visas alltså resultatet från två olika databaser, person och annan.


FÖRÄNDRA DATABASEN

Om man behöver ändra sin databas, kanske lägga till något eller kanske ta bort något, så finns det några kommandon som passar alldeles utmärkt till detta. Desa är:


DELETE - Tar bort rader i databas
INSERT - Lägger till rader i databas
UPDATE - Uppdatering av databas

Den jag ska börja skriva om nu är DELETE.


DELETE

Låt oss säga att det har uppstått ett fel i databasen, man råkade lägga in Persson i sin databas, och nu vill man ta bort dessa Persson eftersom man inte känner dem. Det görs mycket lät med hjälp av


DELETE FROM databas WHERE namn = Persson


INSERT

Men nu kommer man ihåg, att man kände dessa Persson ändå, och ångrar att man tog bort dem, och nu vill man lägga in dem igen. Då använder man:


INSERT INTO databas (antal, namn)
VALUES(”5”, ”Persson”)

Om det finns fler fält i databasen, så förblir dem tomma tills man bestämmer sig för att fylla i dem.


UPDATE

UPDATE har följande syntax:

UPDATE tabellnamn
SET kolumnnamn = uttryck
[, kolumnnamn = utryck]…
[, WHERE vilkor]

Här följer ett exempel på hur man använder sig utav UPDATE, det vi kommer till att göra är att ändra en sak i en databas, och sedan se till att det visas.

Databasen heter affär och ser ut som nedan:









VARORPRIS
Mjölk8
Filmjölk12
Lantbröd13
Kaffe25
Coca Cola 1,5 l16


Om nu Coca Colan har gått ner 2:- i pris så skriver man följande för att uppdatera:


UPDATE affär
SET PRIS= 14
WHERE varor = ”Coca Cola 1,5 l”

Detta var då det viktigaste när det gäller SQL. Det finns en del saker jag inte tagit upp, om hur man utökar tabeller, och en del andra saker. Men enligt mig så har vi gått igenom det viktigaste. Hoppas du haft någon nytta av denna texten, för det har varit mycket trevligt att skriva den.

//Michael Karlsson

michael@ms-networks.com
Upp

0 Kommentarer

Skriv en kommentar på artikeln

Ditt betyg på artikeln



Kommentar:





Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 153
27 952
271 704
783
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies