home  :: Home/Artikels/Webdesign enzo/SQL SELECT, UPDATE, INSERT en DELETE

SQL SELECT, UPDATE, INSERT en DELETE


door: Joriso 

Gezien data en database steeds bepalender zijn voor de ontwikkeling van het internet wordt SQL soms schertsend het HTML van de toekomst genoemd. Hoewel je natuurlijk een commerciële SQL cursus, opleiding of training kunt volgen, zijn de basisprincipes van SQL simpel en makkelijk te leren door wat online SQL tutorials door te nemen.

Hieronder vindt je een korte uiteenzetting van de meestgebruikte SQL syntax



SQL

De SQL taal (Structured Query Language of Sequel) is een standaard voor het opvragen van data uit relationele database servers.

Op de meeste moderne database softwarepakketten kun je met sql opgebouwde queries toepassen. Veelgebruikte voorbeelden van sql compatibele relationele database systemen, ofwel SQL servers, zijn o.a. MySQL, Postgresql en Microsoft SQL server 2000/2005 (MSSQL). Elk van deze systemen gebruikt een eigen variant van de SQL taal.

In combinatie met scripting talen als bijvoorbeeld PHP of ASP kan SQL worden gebruikt om data uit de SQL database server dynamisch in html-pagina's te persenteren. Men spreekt dan van een database driven website.

Veelvoorkomende oplossingen voor het bouwen van dynamische websites zijn bijvoorbeeld de Open Source combinatie van Apache webserver met Mysql en PHP, of de Microsoft combinatie van IIS webserver met ASP en MSSQL.

Door middel van SQL commando's als bijvoorbeeld SELECT, UPDATE, INSERT, DELETE, kan data in de database geselecteerd en gemanipuleerd worden via bijvoorbeeld een formulier op een webpagina. In de volgende SQL tutorial wordt kort de basis SQL-syntax voor deze commando's kort uiteengezet. In hierop volgende delen van deze tutorial zal worden getoond hoe SQL wordt toegepast in het opbouwen van dynamische websites.

SQL SELECT

Stel je hebt in een SQL compatibele database een tabel opgeslagen met de buitengewoon originele naam: 'beesjes'. Tabel 'beesjes' is opgedeeld in 4 kolommen (verticaal) met de al even origineel gekozen namen: Dier (kolom 1), Geluid (kolom 2), Eet (kolom 3) en Voedsel (kolom 4).

In de rijen (horizontaal) van de tabel bevindt zich de volgende data:

tabel 'beesjes':

Dier Geluid Eet Voedsel
muis piep knaagt kaas
hond waf bijt bot
kat miauw hapt vis

 

SQL query om alle waardes uit de kolom Dier te selecteren:

 

SELECT Dier FROM beesjes

 

SQL query om een alleen de dier(en) die in kolom geluid de waarde 'waf' hebben staan:

 

SELECT Dier FROM beesjes WHERE geluid = 'waf'

SQL INSERT

Met sql commando INSERT kun je data toevoegen aan 'n tabel:

 

INSERT INTO tabelnaam
VALUES (waarde1, waarde2,..)

of met kolomspecificatie - (voordeel is dat je je INSERT query's niet hoeft aan te passen wanneer je later kolommen toevoegd/verwijderd.)

INSERT INTO tabelnaam (kolom1, kolom2,..)
VALUES (waarde1, waarde2,..)

 

Of om bij ons SQL voorbeeld te blijven - en een rij data toe te voegen aan tabel beesjes:

 

INSERT INTO beesjes (Dier, Geluid, Eet, Voedsel)
VALUES ('Aap', 'Oeh', 'hapt', 'banaan')

SQL UPDATE

Met SQL command UPDATE kun je reeds bestaande waardes in een tabel veranderen. De SQL query wordt alsvolgt opgebouwt:

UPDATE tabelnaam
SET kolomnaam = 'nieuwe waarde'
WHERE kolomnaam = 'bestaande waarde'

 

Als je in tabel beesjes bijvoorbeeld de waarde kat in poes wilt veranderen, luidt de SQL query:

 

UPDATE beesjes
SET Dier = 'poes'
WHERE Dier = 'kat'


Indien je met de UPDATE query meerdere velden tegelijk wilt wijzigen dien je deze te scheiden met comma's:

 

UPDATE beesjes
SET Dier = 'poes',
Geluid = 'prrr'
WHERE Dier = 'kat'

SQL DELETE

SQL commando DELETE verwijdert data uit 'n tabel. Om een selectief rijen uit een tabel te verwijderen gebruik je SQL query:

 

DELETE FROM tabelnaam WHERE kolomnaam = 'waarde'

 

Ofwel om de rij hond uit tabel beesjes te deleten:

 

DELETE FROM beesjes WHERE Geluid = 'waf'

 



Commentaar van bezoekers:
van: deeq
21:26:10, 12th-Dec-06
Netjes zo, duidelijk, ben er druk mee aant stoeien; weet je nog meer uitlegsites, liefst int nederlands

van: zoomer
12:13:00, 27th-Dec-06
Erg duidelijke sql-tutorial!

Ik heb nog een vraag over een update. Kunt u dit uitleggen?
Ik zoek het sql-commando om een stukje tekst dat voorkomt in verschillende records te muteren. Een soort zoek- en vervang functie zoals we dat in bijv. Word kennen.

voorbeeld:
DIT IS EEN STULKJE TEKST

dit moet worden

DIT IS EEN STUKJE TEKST

post id post_text
1 DIT IS EEN STULKJE TEKST
2 DIT IS EEN STULKJE TAART
3 IS DIT WEL EEN STULKJE TEKST
4 JAWEL DIT IS EEN STULKJE TEKST
etc

Deze fout komt vele malen voor in dezelfde tabel. Nu wil ik alleen het
woord STULKJE vervangen door STUKJE. Want er staat ook andere tekst rondom
het woord stulkje.

post id post_text
1 DIT IS EEN STUKJE TEKST
2 DIT IS EEN STUKJE TAART
3 IS DIT WEL EEN STUKJE TEKST
4 JAWEL DIT IS EEN STUKJE TEKST
etc

UPDATE `post_text` SET `post_text` = 'STUKJE' WHERE `post_text` like "%STULKJE%" zal niet werken want nu zullen alle teksten gevuld worden met alleen
STUKJE.

Maar wat werkt wel??

van: joriso
21:19:03, 27th-Dec-06
Hoi Zoomer: Hiervoor kun je o.a. de REPLACE() functie in SQL gebruiken:
zie voor uitleg van toepassing in MySQL bijv:
http://www.nikmakris.com/2005/mar/29.html

MSSQL en Access hebben dezelfde functionaliteit:
http://www.sqlteam.com/item.asp?ItemID=7386
http://www.oraclehome.co.uk/access-replace-function.htm

Erg handig!

van: Laurent
10:53:03, 19th-Feb-07
Ik heb in een database een veld omschrijving staan ; deze tekst die hierin staat is in de applicatie ingevoerd als tekst + spatie.
De spatie moet verwijderd worden als deze ingevoerd is na de tekst.
Weet jij hier een oplossing voor ?

van: Laurent
11:59:19, 19th-Feb-07
Reeds zelf opgelost:

UPDATE artikel
SET veldnaam = RTRIM(veldnaam)

Nu wordt elk veld indien er een spatie aan het einde staat omgezet naar een veld zonder spatie

van: Mart
12:22:36, 20th-Mar-07
Heerlijk simpel, erg doeltreffend moet ik zeggen..

van: Jules
23:37:47, 1st-Jan-08
joriso je bent echt geweldig. ga zo door man!

van: Teqskater
18:49:01, 4th-Jan-08
Weet je toevallig de Goede syntax van zoiets:
Delete all rows from all tables where username = 'username'.

van: JMAdesign
08:36:09, 18th-Jan-08
Hele goede en duidelijk tut! Thnx

van: Lucy
11:35:07, 21st-Feb-08
is het ook mogelijk een reeks in 1 keer te updaten?

van: Sis
22:54:16, 30th-Mar-08
thnx is echt handig!!

van: Koen
10:34:25, 12th-Dec-08
Erg handig en super uitleg! Bedankt!

van: Vernon de Goede
16:51:21, 4th-Jan-09
Ik weet niet hoe jij beesjes schrijft, maar ik noem die altijd \'beestjes\'
Verder: goede tutorial!

van: Jurgen
16:22:46, 14th-Jan-09
Prima Tut !!

van: Peter
10:43:18, 5th-Aug-09
Prima stukje bedankt

van: bram
14:57:30, 13th-Nov-09
Super !!

Commentaar toevoegen:
Naam:
Link:(niet verplicht)
Commentaar:
<-- code:
  


Snel zoeken:



Zombie t-shirt
17 Euro

Toevallig
passerende
cartoon
:



Nieuwste links:


All content copyleft 2008 Joris Osterhaus - www.hardcode.nl