MySQL:: MySQL 5.7 Referentiehandleiding:: 3.3.3 gegevens laden in een tabel

3.3.3 gegevens laden in een tabel

na het aanmaken van uw tabel moet u deze invullen. DeLOAD DATA enINSERT zijn hiervoor nuttig.

stel dat uw pet records kunnen worden beschreven zoals hier getoond. (Merk op dat MySQL datums verwacht in 'YYYY-MM-DD' formaat; dit kan afwijken van wat u gewend bent.)

name owner species sex birth death
Fluffy Harold cat f 1993-02-04
Claws Gwen cat m 1994-03-17
Buffy Harold dog f 1989-05-13
Fang Benny dog m 1990-08-27
Bowser Diane hond m 1979-08-31 1995-07-29
Leuk Gwen vogels f 1998-09-11
Whistler Gwen vogels 1997-12-09
Compact Benny slang m 1996-04-29

Omdat je begint met een lege tabel, een makkelijke manier om te vullen het is om een tekst bestand met een rij voor elk van uw dieren, laad dan de inhoud van het bestand in de tabel met een enkele verklaring.

u kunt een tekstbestand maken pet.txt met één record per regel, met waarden gescheiden door tabs, en gegeven in de volgorde waarin de kolommen werden vermeld in het CREATE TABLE statement. Voor ontbrekende waarden (zoals Onbekende geslachten of sterftedata voor nog levende dieren) kunt u NULL waarden gebruiken. Om deze weer te geven in uw tekstbestand, gebruik \N (backslash, hoofdletter-N). Bijvoorbeeld, het record van Whistler de vogel eruit zou zien als deze (waar de witruimte tussen de waarden wordt een enkele tab-teken):

Whistler Gwen bird \N 1997-12-09 \N

Om het tekstbestand pet.txt in de pet tabel, gebruik deze verklaring:

mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet;

Als u het bestand is gemaakt op Windows met een editor die gebruikt \r\n line terminator, moet u gebruik maken van deze verklaring in de plaats:

mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet LINES TERMINATED BY '\r\n';

(Op een Apple-computer met mac os, je zou waarschijnlijk willen om te gebruiken LINES TERMINATED BY '\r'.)

u kunt het kolomwaardescheidingsteken en het einde van de regelmarkering expliciet opgeven in het LOAD DATA statement Als u dat wilt, maar de standaardwaarden zijn tab en linefeed. Deze zijn voldoende om het bestand pet.txt correct te lezen.

als het statement faalt, is het waarschijnlijk dat je MySQL installatie standaard geen lokale bestandsmogelijkheden heeft ingeschakeld. Zie paragraaf 6.1.6, “veiligheidsoverwegingen voor lokale LAADGEGEVENS”, voor informatie over hoe dit kan worden gewijzigd.

wanneer u een voor een nieuwe records wilt toevoegen, is de instructie INSERT nuttig. In zijn eenvoudigste vorm geeft u waarden voor elke kolom, in de volgorde waarin de kolommen werden weergegeven in het CREATE TABLE statement. Stel dat Diane een nieuwe hamster krijgt met de naam Puffball.”U kunt een nieuw record toevoegen met behulp van een INSERT statement als volgt:

mysql> INSERT INTO pet VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);

tekenreeks en datumwaarden worden hier opgegeven als aangehaalde tekenreeksen. Met INSERT kunt u ook NULL direct invoegen om een ontbrekende waarde weer te geven. U gebruikt \N niet zoals u doet met LOAD DATA.

uit dit voorbeeld kunt u zien dat er veel meer typen nodig zijn om uw records te laden met behulp van verschillende INSERT statements in plaats van een enkele LOAD DATA statement.