Ostatnia aktualizacja 26 lutego 2020 08:08:23 (UTC/GMT +8 godzin)
Komunikat LOAD
Komunikat MySQL LOAD wypełnia tabelę.
Załóżmy, że użytkownik posiada plik .txt o nazwie 'pub.txt' w swoim własnym folderze, zawierający 1 rekord w każdym wierszu, oddzielony tabulatorami i ułożony w kolejności kolumn wymienionych w tabeli. Możesz użyć polecenia LOAD do wypełnienia tabeli. Dla brakujących wartości, użytkownik może użyć wartości NULL, które powinny być reprezentowane przez 'N' w pliku tekstowym.
Syntaktyka:
LOAD DATA LOCAL INFILE '' INTO TABLE ;
Argumenty
Nazwa | Opis |
---|---|
path | Adres pliku. |
file_name | Nazwa pliku .txt. |
table_name | Tabela, do której zostaną załadowane dane. |
Przykład:
W poniższym kodzie zawartość pliku tekstowego pub.txt zostanie wczytana do tabeli publisher.
Należy podać ścieżkę dostępu do pliku.
Plik tekstowy zawiera wiersz taki jak -.
P002<tab>BPP Publication<tab>Mumbai<tab>India<tab>New Delhi<tab><tab>1985-10-01
Kod:
LOAD DATA LOCAL INFILE 'pub.txt' INTO TABLE publisher;
Przykładowa tabela: wydawca
Konstrukcja MySQL LOAD z terminatorem wiersza
Konstrukcja MySQL LOAD z ” jako terminatorem wiersza może być również użyta do wypełnienia tabeli.
Przykład:
Poniższy kod załaduje rekordy z pliku pub.txt do tabeli publisher. Znak ” może być użyty jako terminator wiersza.
Plik tekstowy zawiera wiersz taki jak -.
P002<tab>BPP Publication<tab>Mumbai<tab>India<tab>New Delhi<tab><tab>1985-10-01
Przykładowa tabela: wydawca
Kod:
LOAD DATA LOCAL INFILE 'path/pub.txt' INTO TABLE publisherLINES TERMINATED BY \r\n ;
MySQL ładowanie danych do tabeli za pomocą instrukcji insert
Aby wstawić nowe rekordy do tabeli można użyć instrukcji INSERT. Wartości będą podawane przez użytkownika w takiej samej kolejności, w jakiej kolumny są wymienione w tabeli. Wartości łańcuchowe i daty muszą być określone w cudzysłowie.
Syntaktyka
INSERT INTO <table_name> values(value1,value2,....);
Argumenty
Nazwa | Opis |
---|---|
table_name | Nazwa tabeli. |
value1,value2,… | Wartości, które zostaną wstawione do sekwencji kolumn. |
Przykład:
Następująca instrukcja wstawia jeden wiersz do tabeli 'wydawca', który zawiera wartości zgodnie z kolejnością kolumn.
Przykładowa tabela: wydawca
Kod:
INSERT INTO publisher values(‘P010’,’ Novel Publisher Ltd.’,’ mumbai’,’ India’,’ hydrabad’);
MySQL import danych z csv za pomocą LOAD DATA INFILE
Można zaimportować dane z pliku CSV do tabeli MySQL. Oto struktura tabeli MySQL oraz pliku CSV
Struktura tabeli MySQL:
Przykładowe dane wyjściowe:
MySQL> describe std;+--------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+--------+-------------+------+-----+---------+-------+| rollno | int(11) | NO | PRI | NULL | || class | varchar(15) | YES | | NULL | || name | varchar(45) | YES | | NULL | |+--------+-------------+------+-----+---------+-------+3 rows in set (0.01 sec)
Dane pliku CSV (book1.csv):
NAME,CLASS,ROLLNO
David,V,9
Subir,Vii,12
Taniya,VI,10
Anish,V,14
Przykładowe wyjście:
MySQL> LOAD DATA LOCAL INFILE 'book1.csv' INTO table std FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (name, class, rollno);Query OK, 4 rows affected (0.04 sec)Records: 4 Deleted: 0 Skipped: 0 Warnings: 0MySQL> SELECT * FROM std;+--------+-------+--------+| rollno | class | name |+--------+-------+--------+| 9 | V | David || 10 | VI | Taniya || 12 | Vii | Subir || 14 | V | Anish |+--------+-------+--------+4 rows in set (0.00 sec)
Poprzednie: DATABASE MySQL
Następne: MySQL advance tworzenie tabeli MySQL Constraints