INSERT INTO (MySQL): verschil tussen versies
Naar navigatie springen
Naar zoeken springen
Regel 17: | Regel 17: | ||
INSERT INTO table_name | INSERT INTO table_name | ||
VALUES | VALUES | ||
− | (value1, value2,...valueN), | + | (value1, value2, ..., valueN), |
− | (value1, value2,...valueN), | + | (value1, value2, ..., valueN), |
− | (value1, value2,...valueN); | + | (value1, value2, ..., valueN); |
</pre> | </pre> | ||
Versie van 5 nov 2015 14:51
Er zijn verschillende methodes om data in records in te voeren. Onder andere MySQL Workbench en PMA bieden hiervoor mogelijkheden. Dit artikel behandelt SQL-methodes.
SQL met embedde data
Data kan ingevoerd worden met ingebedde SQL-statements. Dat is een vreemde eend in de bijts, omdat data en commando's daarbij vermengd raken. Desalniettemin is het vaak een goede oplossing. Bv.:
- In situaties waarin ik anders handmatig data zou aanpassen. Door het in een script te stoppen, is het herhaalbaar
- Database-dumps.
INSERT INTO
is de standaardmanier om records in te voeren vanuit code. Er zijn twee syntaxises:
Zonder kolomnamen
Indien je geen kolomnamen gebruikt, moeten alle kolommen worden opgenomen in VALUES(). Meerdere records kunnen in één statement worden opgenomen. Dat kun je bv. zien bij mysqldump
-output. Bv.:
INSERT INTO table_name VALUES (value1, value2, ..., valueN), (value1, value2, ..., valueN), (value1, value2, ..., valueN);
Inclusief kolomnamen
Voorbeeld:
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country) VALUES ('Cardinal','Tom B. Erichsen','Skagen 21','Stavanger','4006','Norway');
Vanuit een andere tabel
Hierbij hoef je alleen velden te benoemen die gebruikt worden.
Bv.:
insert into term_data select null, 15, naam, "", 0 from term_data_nieuw;
Ander voorbeeld:
insert into tbl_ad select "master" as account, "Merken" as campaign, adgroup as adgroup, headline as headline, line1 as line1, line2 as line2, displayurl as displayurl, finalurl as finalurl, "campagne-oktober-2015" as memo from tbl_ad_tmp;
Vanuit een andere tabel + een constante
insert into term_hierarchy select tid, (select tid from term_data where name = "Merk" and description="Koolborstels op merk") from term_data where description like "Alle koolborstels voor %";