Prawo Murphy'ego: Wszystko co zostało złożone, ulegnie wcześniej czy później rozkładowi.
Kurs MySQL - wprowadzanie danych do tabeli

Wprowadzanie danych do tabeli

Po utworzeniu tabeli musisz ją wypełnić jakimiś danymi. Użyteczne do tego zdania są instrukcje LOAD DATA i INSERT.

Przypuśćmy, że rekordy związany z Twoimi zwierzakami mogą być przedstawione w sposób pokazany poniżej. Zauważ, że MySQL oczekuje dat w formacie YYYY-MM-DD. Może się to różnić od tego, do czego jesteś przyzwyczajony.

imiewlascicielgatunekplecurodzonyzmarl
FluffyHaroldkotz1993-02-04  
ClawsGwenkotm1994-03-17  
BuffyHaroldpiesz1998-05-13  
FangBennypiesm1990-08-27  
BowserDianepiesm1998-08-31 1995-07-29
ChirpyGwenptakz1998-09-11  
WhistlerGwenptak 1997-12-09  
SlimBennyrybam1996-04-29  

Ponieważ zaczynasz z pustą tabelą, to łatwym sposobem na jej wypełnienie jest stworzenie pliku tekstowego zawierającego wiersz z informacjami o każdym zwierzęciu, a następnie wczytanie jego zawartości do tabeli jedną instrukcją.

Możesz po prostu utworzyć plik tekstowy 'zwierze.txt' zawierający każdy rekord w oddzielnej linii z wartościami oddzielonymi tabulatorami oraz oczywiście w takim porządku, w jakim podane były kolumny w instrukcji CREATE TABLE. W przypadku braku wartości w jakiejś kolumnie (np. nie znasz płci lub daty śmierci zwierzęcia, które jeszcze żyje) możesz użyć wartości NULL. W pliku wartość ta reprezentowana jest przez zapis \N. Np. rekord dla Whistlera wyglądałby następująco (pokazane odstępy to pojedyncze tabulatory):

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

Aby zapisać dane z pliku 'zwierze.txt' do tabeli zwierze użyj polecenia:

    mysql> LOAD DATA LOCAL INFILE "zwierze.txt" INTO TABLE zwierze;

Jeżeli chcesz, to możesz samodzielnie zdefiniować separator kolumn i znak końca wiersza w instrukcji LOAD DATA, jednak domyślnie stosowane są tabulatory i znaki CR+LF.

Jeżeli chcesz dodać tylko jeden rekord w danym czasie użyj instrukcji INSERT. W swej najprostszej formie, podajesz jej tylko wartość każdej kolumny (z tych, które zawarłeś w instrukcji CREATE TABLE). Przypuśćmy, że Diana dostała nowego żółwia, którego nazwała Puffball. Możesz utworzyć dla niego nowy rekord w sposób pokazany poniżej:

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

Zauważ, że łańcuchy znakowe i daty są podane w cudzysłowach. W instrukcji INSERT możesz też wystąpić wartość NULL bezpośrednio tam, gdzie nie występuje żadna konkretna wartość. Nie używa się znaków \N tak, jak to było przy LOAD DATA.

Myślę, że zauważyłeś różnicę w ilości potrzebnego zapisu koniecznego do wypełnienia tabeli wartościami przy użyciu wielu instrukcji INSERT i pojedynczego rozkazu LOAD DATA.

« wstecz   dalej »