Thay vì viết tập lệnh để lấy thông tin từ tệp CSV, bạn có thể liên kết MYSQL trực tiếp với tệp đó và tải thông tin lên bằng cú pháp SQL sau.
Để nhập tệp Excel vào MySQL, trước tiên hãy xuất tệp đó dưới dạng tệp CSV. Xóa tiêu đề CSV khỏi tệp CSV đã tạo cùng với dữ liệu trống mà Excel có thể đã đặt ở cuối tệp CSV.
Sau đó, bạn có thể nhập nó vào một bảng MySQL bằng cách chạy:
load data local infile 'uniq.csv' into table tblUniq fields terminated by ','
enclosed by '"'
lines terminated by '\n'
(uniqName, uniqCity, uniqComments)
như đã đọc trên: Nhập tệp CSV trực tiếp vào MySQL
CHỈNH SỬA
Đối với trường hợp của bạn, trước tiên bạn cần viết một trình thông dịch để tìm hàng đầu tiên và gán chúng làm tên cột.
EDIT-2
Từ MySQL docs trên LOAD DATA
cú pháp
:
IGNORE number LINES
có thể được sử dụng để bỏ qua các dòng ở đầu tệp. Ví dụ:bạn có thể sử dụngIGNORE 1 LINES
để bỏ qua dòng tiêu đề ban đầu chứa tên cột:LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test IGNORE 1 LINES;
Do đó, bạn có thể sử dụng câu lệnh sau:
LOAD DATA LOCAL INFILE 'uniq.csv'
INTO TABLE tblUniq
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(uniqName, uniqCity, uniqComments)