web2 logo

Artikel Links Notities

INSERT INTO

Met INSERT INTO kan je gegevens toevoegen in een database. INSERT INTO algemene vorm: -- specifiek: zowel kolommen als waarden opgeven INSERT INTO tabelnaam (kolom1, kolom2, kolom3, ...) VALUES (waarde1, waarde2, waarde3, ...); /* Als je alle kolommen gaat vullen, dan mag je de kolommen weglaten de waarden moeten in de volgorde van de kolommen worden opgegeven Automatisch gegenereerde ID-velden hoef je natuurlijk niet op te geven */ INSERT INTO tabelnaam VALUES (waarde1, waarde2, waarde3, ...); INSERT INTO voorbeeld: INSERT INTO Klanten (Klantnaam, Contactnaam, Adres, Stad, Postcode, Land) VALUES ('Autoshop', 'Klaas Vaak', 'Straatweg 52', 'Stad-aan-het-water', '3456 AD', 'Nederland'); Voorbeeld via de opdrachtprompt van psql: test=# INSERT INTO Personen test-# VALUES (1, 'Vaak','Klaas','Straatweg 52','Stad-aan-het-water'); INSERT 0 1 test=# SELECT * FROM Personen; persoonid | achternaam | voornaam | adres | stad -----------+------------+----------+--------------+-------------------- 1 | Vaak | Klaas | Straatweg 52 | Stad-aan-het-water (1 row) test=#

INSERT INTO SELECT

INSERT INTO SELECT kopieert gegevens uit de ene tabel en voegt ze in in de andere tabel. De datatypen in beide tabellen moeten overeenkomen. De reeds bestaande gegevens in de doeltabel veranderen niet. INSERT INTO SELECT algemene vorm: --Alle kolommen kopiëren: INSERT INTO tabel2 SELECT * FROM tabel1 WHERE voorwaarde; --Sommige kolommen kopiëren: INSERT INTO tabel2 (kolom1, kolom2, kolom3, ...) SELECT kolom1, kolom2, kolom3, ... FROM tabel1 WHERE voorwaarde; SQL INSERT INTO SELECT voorbeelden: --Leveranciers kopiëren naar Klanten --kolommen zonder gegevens zullen NULL bevatten: INSERT INTO Klanten (Klantnaam, Stad, Land) SELECT Leveranciernaam, Stad, Land FROM Leveranciers; --Leveranciers kopiëren naar Klanten INSERT INTO Klanten (Klantnaam, Contactnaam, Adres, Stad, Postcode, Land) SELECT Leveranciernaam, Contactnaam, Adres, Stad, Postcode, Land FROM Leveranciers; --Alleen Leveranciers uit Duitsland --kopiëren naar Klanten: INSERT INTO Klanten (Klantnaam, Stad, Land) SELECT Leveranciernaam, Stad, Land FROM Leveranciers WHERE Land='Duitsland';

naar boven

term zoeken

Notitieruimte