Du er her: Hovedside > Artikler > MySQL > Artikkel

Endre data i databasen

Skrevet av: GratisGuide.net

I denne artikkelen skal vi se nærmere på hvordan vi bruker språket SQL for å endre informasjon i en database. Vi viser med eksempler hvordan du bruker SQL og spesielt MySQL. Eksemplene våre er lagt opp slik:

SQL-eksempler er angitt på denne måten

Resultat av SQL-spørringer vises på denne måten

Kort om SQL

SQL står for structured query language, strukturert spørringsspråk, og er en standarisert måte å foreta spørringer mot en database på. SQL i våre eksempler fungerer altså med MySQL. Du kan lese mer om SQL i denne artikkelen.

Litt om eksemplene våre

I eksemplene våre skal vi foreta spørringer mot en tabell i en database. Tabellen ser slik ut:

Tabellen Ansatte                               Tabellen Avdeling
---------------------------------------------  ---------------------
| ansId | ansFornavn | ansEtternavn | avdId |  | avdId | avdSted   |
---------------------------------------------  ---------------------
|    1  | Kari       | Karlsen      |    3  |  |    1  | Oslo      |
|    2  | Ola        | Olsen        |    1  |  |    2  | Bergen    |
|    3  | Gunn       | Gjertsen     |    1  |  |    3  | Trondheim |
|    4  | Hans       | Hansen       |    2  |  ---------------------
|    5  | Lise       | Larsen       |    3  |
|    6  | Per        | Pålsen       |    3  |
|    7  | Marie      | Matsen       |    2  |
|    8  | Karl       | Knutsen      |    3  |
|    9  | Hanne      | Helgesen     |    1  |
|   10  | Egil       | Eriksen      |    2  |
---------------------------------------------

Her ser vi at vi har to tabeller, den første kalt Ansatte. Den tabellen har fire felt (kolonner) og i tabellen ligger det ti poster (rader). I den andre tabellen, kalt Avdeling, er det to felt og det ligger tre poster i den.

Endre en verdi i en rad

Hanne Helgesen har tatt med jobb, mann og barn og flyttet til Trondheim. Ansatte-tabellen må derfor oppdateres slik at Hanne sin avdeling er korrekt i databasen. Vi kan endre verdien for avdId fra den nåværende '1' (Oslo) til '3' (Trondheim) med en UPDATE-spørring:

UPDATE Ansatte SET avdId = 3 WHERE ansId = 9

Dersom vi nå henter data fra Ansatte-tabellen vil vi se at Hannes avdeling er blitt endret til '3' (Trondheim):

SELECT * FROM Ansatte ORDER BY ansId

Resultatet av spørringen over er:

=============================================
| ansId | ansFornavn | ansEtternavn | avdId |
---------------------------------------------
|    1  | Kari       | Karlsen      |    3  |
|    2  | Ola        | Olsen        |    1  |
|    3  | Gunn       | Gjertsen     |    1  |
|    4  | Hans       | Hansen       |    2  |
|    5  | Lise       | Larsen       |    3  |
|    6  | Per        | Pålsen       |    3  |
|    7  | Marie      | Matsen       |    2  |
|    8  | Karl       | Knutsen      |    3  |
|    9  | Hanne      | Helgesen     |    3  |
|   10  | Erik       | Eriksen      |    2  |
=============================================

 

Fjerning av data fra en tabell

Vi kan enkelt fjerne en hel rad i tabeller med en DELETE-spørring. Ola Olsen har valgt å gå til nye utfordringer hos en annen arbeidsgiver og må derfor fjernes fra Ansatte-tabellen. Det kan gjøres med denne spørringen:

DELETE FROM Ansatte WHERE ansId = 2

Henter vi ut Ansatte-tabellen igjen vil den nå se slik ut:.

SELECT * FROM Ansatte ORDER BY ansId

 
=============================================
| ansId | ansFornavn | ansEtternavn | avdId |
---------------------------------------------
|    1  | Kari       | Karlsen      |    3  |
|    3  | Gunn       | Gjertsen     |    1  |
|    4  | Hans       | Hansen       |    2  |
|    5  | Lise       | Larsen       |    3  |
|    6  | Per        | Pålsen       |    3  |
|    7  | Marie      | Matsen       |    2  |
|    8  | Karl       | Knutsen      |    3  |
|    9  | Hanne      | Helgesen     |    3  |
|   10  | Erik       | Eriksen      |    2  |
=============================================

 

Legge til data til en tabell

Janne Johnson har blitt ansatt for å overta etter Hanne Helgesen i Oslo-avdelingen og må derfor legges til Ansatte-tabellen. Det er en enkel sak med en INSERT-spørring.

Spørringen nedenfor legger til Janne i databasen:

INSERT INTO Ansatte (ansFornavn, ansEtternavn, avdId)
VALUES ('Janne', 'Johnsen', 1)

Spørringen ovenfor forutsetter at tabellen angir verdien for ansId (såkalt AUTOINCREMENT). Dersom tabellen ikke er satt opp til det må vi også gi ansatte-nummeret:

INSERT INTO Ansatte (ansId, ansFornavn, ansEtternavn, avdId)
VALUES (11, 'Janne', 'Johnsen', 1)

Siden vi forsyner tabellen med data for alle kolonnene i tabellen kan spørringen over også skrives slik:

INSERT INTO Ansatte VALUES (11, 'Janne', 'Johnsen', 1)

Men det fungerer bare når vi har verdier til alle kolonnene i tabellen.


Warning: main(/home/thomarn1/public_html/elementer/skript/annet_sql.php) [function.main]: failed to open stream: No such file or directory in /home/thomarn1/public_html/artikler/mysql/endre-data-i-databasen.html on line 111

Warning: main() [function.include]: Failed opening '/home/thomarn1/public_html/elementer/skript/annet_sql.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/thomarn1/public_html/artikler/mysql/endre-data-i-databasen.html on line 111

Opphavsrett

Ønsker du å gjengi denne artikkelen eller noe fra den må du gjerne gjøre det, men ikke glem kildereferanse. For å lenke til denne artikkelen kan du bruke URL-en http://www.gratisguide.net/artikler/mysql/endre-data-i-databasen.html.

Tilbake til Artikler / MySQL



Annonse

Annonse

Google

GratisGuide.net
» Forsiden
» Om oss
» Nyhetsbrev
» Lage lenker til oss
» Opphavsrett

Nyhetsklipp
» Hovedside
» RSS-feeds

Artikler
» Hovedside
» Apache webserver
» Domenenavn
» Grafikk og clipart
» HTML og CSS
  » Hjemmeside på 1-2-3
  » Lage en basis-side
» Javascript
» MySQL
» PHP
» Søkemotorer
» WAP og WML
» Webdesign

Ressurs-databasen
» Hovedside
» Dmoz / ODP
  » World/Norsk/
  » Regional/.../Norway/
» Domeneavn/e-post
» Gjestebøker
» Grafikk
» Innhold/syndikert
» Juridisk/nettikette
» Lenke-/bannerbytte
» Programmeringsspråk
  » HTML
  » Javascript
  » MySQL og SQL
  » PHP
  » WML-script
» Reklame/annonsering
» Søkemotorer/kataloger
» Statistikk/tellere
» Topplister
» Vedlikehold
» WAP og WML
» Webdesign-maler
» Webhotell
» Webmaster-forum
» Annet

Bokdatabasen
» Hovedside
» Databaser
» Handel og markedsføring
» Innholdsredigering
» Juridisk
» Programmering
» Programvare
» Websideutvikling
» Generelt

Kodeservice
» Hovedside
» Kodegeneratorer
  » Dato
  » Fylkesliste
  » Meta-merke
  » Rammesett
  » Søkebokser
  » Sprett-opp-vindu
  » Stilark
  » WML

Innholdstjenester
» Hovedside
» Diskusjonsforum
» IP-adresse
» Nyhetsoversikt
» Om dagen i dag