MySQL :: MySQL 5.7 Referenční Příručka :: 3.3.3 Načítání Dat do Tabulky

3.3.3 Načítání Dat do Tabulky

Po vytvoření tabulky, je nutné naplnit. K tomu jsou užitečné příkazy LOAD DATA a INSERT.

Předpokládejme, že záznamy vašeho domácího mazlíčka lze popsat tak, jak je znázorněno zde. (Všimněte si, že MySQL očekává data ve formátu 'YYYY-MM-DD'; to se může lišit od toho, na co jste zvyklí.)

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 pes m 1979-08-31 1995-07-29
Veselý Gwen bird f 1998-09-11
Whistler Gwen bird 1997-12-09
Slim Benny snake m 1996-04-29

Protože se začíná s prázdnou tabulkou, snadný způsob, jak naplnit to, je vytvořit textový soubor obsahující řádek pro každou z vašich zvířata, načtěte obsah souboru do tabulky jediným příkazem.

můžete vytvořit textový soubor pet.txt obsahující jeden záznam na řádek, hodnoty jsou odděleny tabulátory, a vzhledem k tomu, v pořadí, v jakém byly sloupce uvedené v CREATE TABLE prohlášení. Pro chybějící hodnoty (například neznámé pohlaví nebo data úmrtí u zvířat, která stále žijí) můžete použít NULL hodnoty. Chcete-li je reprezentovat v textovém souboru, použijte \N (zpětné lomítko, kapitál-N). Například, záznam pro Whistler pták bude vypadat takto (kde mezery mezi hodnotami je jeden znak tabulátoru):

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

načíst textový soubor pet.txtpet tabulka, použijte tento příkaz:

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

Pokud jste vytvořili soubor v systému Windows editor, který používá \r\n jako zakončení řádku, měli byste použít toto prohlášení místo:

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

(Na Apple počítači se systémem macOS, byste pravděpodobně chtít použít LINES TERMINATED BY '\r'.)

můžete zadat oddělovač hodnoty sloupce a značku konce řádku explicitně v příkazu LOAD DATA, pokud si přejete, ale výchozí hodnoty jsou tab a linefeed. Ty jsou dostatečné pro to, aby příkaz správně přečetl soubor pet.txt.

Pokud příkaz selže, je pravděpodobné, že vaše instalace MySQL nemá místní soubor schopností, ve výchozím nastavení povolena. Informace o tom, jak je změnit, naleznete v bodě 6.1.6 – „bezpečnostní opatření pro lokální načtení dat“.

Chcete-li přidat nové záznamy jeden po druhém, je užitečný příkaz INSERT. Ve své nejjednodušší podobě, můžete zadat hodnoty pro každý sloupec v pořadí, v jakém byly sloupce uvedené v CREATE TABLE prohlášení. Předpokládejme, že Diane dostane nového křečka jménem “ Puffball.“Můžete přidat nový záznam pomocí INSERT prohlášení jako je tohle:

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

String a datum hodnoty jsou uvedeny jako uvedené řetězce. Také pomocí INSERT můžete vložit NULL přímo reprezentovat chybějící hodnotu. Nepoužíváte \N jako u LOAD DATA.

Z tohoto příkladu, měli byste být schopni vidět, že tam bude mnohem více psaní zapojeny nahrát své záznamy zpočátku pomocí několika INSERT prohlášení, spíše než jeden LOAD DATA prohlášení.