Có hai cách để nạp dữ liệu vào cơ sở dữ liệu MySQL từ một tập tin backup đã chuẩn bị trước: Sử dụng lệnh Load data và chương trình tiện ích mysqlimport.
Importing dữ liệu sử dụng lệnh LOAD DATA:
MySQL cung cấp lệnh Load data để hỗ trợ việc nạp dữ liệu từ tập tin cho trước vào cơ sở dữ liệu của nó.
Ví dụ:
mysql>LOAD DATA LOCAL INFILE 'thongtinCB.txt' INTO TABLE lylich;
Câu lệnh trên thực hiện việc nạp dữ liệu từ tập tin văn bản thongtinCB.txt, trong thư mục hiện hành, vào table lylich của cơ sở dữ liệu đang mở.
- Nếu từ khóa Local không được sử dụng thì MySQL sẽ tự động dò tìm vị trí lưu trữ tập tin (đường dẫn) dữ liệu trên server cơ sở dữ liệu MySQL.
- Theo mặc định, file dữ liệu có định dạng như sau: Gồm một tập các dòng, mỗi dòng được kết thức bởi mã newline. Và giá trị dữ liệu trên mỗi dòng được tách biệt bởi một khoảng tab.
- Ta cũng có thể quy định một định dạng khác (tương tự) cho file dữ liệu. Trong trường hợp này ta phải sử dụng mệnh đề Field trong câu lệnh Load Data để báo cho MySQL biết:
Ví dụ:
mysql>LOAD DATA LOCAL INFILE 'thongtinCB.txt' INTO TABLE lylich
-> FIELDS TERMINATED BY ':'
-> LINES TERMINATED BY '\r\n';
Câu lệnh này báo cho MySQL biết, file thongtinCB.txt có định dạng: Các dòng (dữ liệu của một record) kết thúc bởi kí tự “xuống dòng-về đầu dòng” (LINES TERMINATED BY '\r\n') và giá trị dữ liệu trên mỗi dòng (giá trị các field) được tách biệt bởi dấu hai chấm: “:” (FIELDS TERMINATED BY ':').
- Theo mặc định, thứ tự các cột trong file dữ liệu trùng với thứ tự các cột/trường (colums/fields) trong table đã chỉ ra. Tuy nhiên ta cũng có thể thay đổi mặc định này sao cho phù hợp với chủ đích Import dữ liệu.
Ví dụ:
mysql>LOAD DATA LOCAL INFILE 'thongtinCB.txt'
-> INTO TABLE lylich (Holot, Ten, MaCB);
Với câu lệnh này: Dữ liệu ở cột đầu tiên của file thongtinCB.txt được nạp vào trường Holot của table lylich, cột thứ hai nạp vào Ten, cột thứ ba nạp vào MaCB (MaCB là trường đầu tiên của table lylich).
Ngoài ra ta có thể sử dụng chương trình tiện ích Mysqlimport để Import dữ liệu từ file dữ liệu txt và các table trong cơ sở dữ liêu MySQL.
(Nguyễn Kim Tuấn - K.CNTT)
» Tin mới nhất:
» Các tin khác: