MySQL :: MySQL 5.7 Reference Manual:: 3.3.3 tietojen lataaminen taulukkoon

3.3.3 tietojen lataaminen taulukkoon

kun olet luonut taulukon, sinun täytyy kansoittaa se. Tähän voidaan käyttää LOAD DATA ja INSERT lausekkeita.

Oletetaan, että lemmikkisi tiedot voidaan kuvata tässä. (Huomaa, että MySQL odottaa päivämääriä 'YYYY-MM-DD " muodossa; tämä voi poiketa siitä, mihin olet tottunut.)

m

1998-09-11

1997-12-09

Benny

m 1996-04-29

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 dog 1979-08-31 1995-07-29
Chirpy Gwen bird
Whistler Gwen bird
Slim Snake

koska aloitat tyhjällä pöydällä, helppo tapa kansoittaa se on luoda tekstitiedosto, joka sisältää rivin kunkin Eläimet, lataa tiedoston sisältö taulukkoon yhdellä lausumalla.

voit luoda tekstitiedoston pet.txt, joka sisältää yhden tietueen per rivi, jonka arvot on erotettu välilehdillä ja annettu siinä järjestyksessä, jossa sarakkeet on lueteltu CREATE TABLE statement. Puuttuville arvoille (kuten tuntemattomille sukupuolille tai vielä elävien eläinten kuolinpäiville) voidaan käyttää NULL arvoja. Jos haluat esittää nämä tekstitiedostossasi, käytä \N (backslash, capital-n). Esimerkiksi Whistler the Birdin tietue näyttäisi tältä (jossa arvojen välinen välilyönti on yhden välilehden merkki):

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

ladataksesi tekstitiedoston pet.txtpet taulukko, käytä tätä lausetta:

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

Jos loit tiedoston Windowsiin muokkaimella, joka käyttää \r\n rivien terminaattorina, käytä sen sijaan tätä lauseketta:

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

(macOS-käyttöjärjestelmää käyttävässä Apple-koneessa haluat todennäköisesti käyttää LINES TERMINATED BY '\r'.)

voit määrittää sarakearvon erottimen ja rivinvaihtomerkin eksplisiittisesti LOAD DATA lausekkeessa, jos haluat, mutta oletukset ovat välilehti ja lineefeed. Nämä riittävät siihen, että lausuma lukee tiedoston pet.txt oikein.

Jos lausunto epäonnistuu, on todennäköistä, että MySQL-asennuksessasi ei ole oletusarvoisesti paikallista tiedostovalmiutta. KS.kohta 6.1.6, ”Load DATA LOCAL Security Considerations”, Kuinka tätä voidaan muuttaa.

kun haluat lisätä uusia tietueita yksi kerrallaan, INSERT lausuma on hyödyllinen. Yksinkertaisimmillaan jokaiselle sarakkeelle annetaan arvot siinä järjestyksessä, jossa sarakkeet on lueteltu CREATE TABLE lausuma. Oletetaan, että Diane saa uuden hamsterin nimeltä ” Puffball.”Voit lisätä uuden tietueen käyttämällä INSERT lausetta näin:

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

merkkijono ja päivämääräarvot on määritelty lainattuina merkkijonoina tässä. Myös INSERT, voit lisätä NULL suoraan edustamaan puuttuvaa arvoa. Et käytä \N kuten LOAD DATA.

tästä esimerkistä pitäisi nähdä, että tietueiden lataamiseen tarvittaisiin paljon enemmän konekirjoitusta, jossa käytettäisiin aluksi useita INSERT lausekkeita eikä yhtä LOAD DATA lauseketta.