MySQL:: MySQL 5.7 Manual de referință :: 3.3.3 încărcarea datelor într-un tabel

3.3.3 încărcarea datelor într-un tabel

după crearea tabelului, trebuie să îl populați. DeclarațiileLOAD DATA și INSERT sunt utile pentru acest lucru.

Să presupunem că înregistrările dvs. de companie pot fi descrise așa cum se arată aici. (Observați că MySQL așteaptă date în 'YYYY-MM-DD' format; acest lucru poate diferi de ceea ce sunteți obișnuiți.)

Whistler

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 câine m 1979-08-31 1995-07-29
Chirpy Gwen pasăre f 1998-09-11
Gwen pasăre 1997-12-09
subțire Benny șarpe m 1996-04-29

pentru că începeți cu o masă goală, o modalitate ușoară de a popula este de a crea un fișier text care conține un rând pentru fiecare dintre dvs animale, apoi încărcați conținutul fișierului în tabel cu o singură declarație.

puteți crea un fișier textpet.txt care conține o înregistrare pe linie, cu valori separate prin file și date în ordinea în care coloanele au fost listate în instrucțiuneaCREATE TABLE. Pentru valori lipsă (cum ar fi sexe necunoscute sau date de deces pentru animalele care încă trăiesc), puteți utiliza NULL valori. Pentru a le reprezenta în fișierul text, utilizați \N (backslash, capital-n). De exemplu, înregistrarea pentru Whistler the bird ar arăta astfel (unde spațiul dintre valori este un singur caracter de filă):

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

pentru a încărca fișierul text pet.txt în tabelul pet, utilizați această instrucțiune:

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

dacă ați creat fișierul pe Windows cu un editor care utilizează \r\n ca terminator de linie, ar trebui să utilizați această instrucțiune în schimb:

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

(pe o mașină Apple care rulează MacOS, probabil că doriți să utilizați LINES TERMINATED BY '\r'.)

puteți specifica în mod explicit separatorul de valori al coloanei și marcatorul de sfârșit de linie înLOAD DATA dacă doriți, dar valorile implicite sunt tab și linefeed. Acestea sunt suficiente pentru ca instrucțiunea să citească corect fișierul pet.txt.

dacă instrucțiunea eșuează, este probabil ca instalarea MySQL să nu aibă capacitatea de fișier local activată în mod implicit. Consultați secțiunea 6.1.6, „considerații de securitate pentru încărcarea datelor locale”, pentru informații despre cum să modificați acest lucru.

când doriți să adăugați înregistrări noi pe rând, este utilă instrucțiuneaINSERT. În forma sa cea mai simplă, furnizați valori pentru fiecare coloană, în ordinea în care coloanele au fost listate în CREATE TABLE declarație. Să presupunem că Diane primește un nou hamster numit ” Puffball.”Puteți adăuga o nouă înregistrare folosind oINSERT declarație ca aceasta:

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

Valorile șirurilor și datei sunt specificate ca șiruri citate aici. De asemenea, cu INSERT, puteți insera NULL direct pentru a reprezenta o valoare lipsă. Nu utilizați \N așa cum faceți cu LOAD DATA.

Din acest exemplu, ar trebui să puteți vedea că ar fi mult mai multe tastarea implicate pentru a încărca înregistrările inițial folosind mai multeINSERT declarații, mai degrabă decât o singurăLOAD DATA declarație.