I.Giới thiệu:

  • Đôi khi code xong 1 hệ thống thì nhiệm vụ tiếp theo được giao là import dữ liệu của khách hàng vào chẳng hạn.
  • Dữ liệu rất nhiều, mà nếu nhập trên màn hình có thể mất khá nhiều nhiều thời gian với công sức.
  • Trường hợp này mình sẽ render code bằng excel.

II. Cách thực hiện:

  • Tạo 1 table mẫu làm ví dụ.
create table user_log (
    id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    email varchar(100)
);
  • Giả sử có dánh sách sau cần import
    1ztLmZ3N-VsJuvxFMwO8azkUs_nxJ6_-0

  • Sử dụng lệnh CONCATENATE để nối chuỗi lệnh SQL với thông tin cần import, chúng ta sẽ có được câu lệnh excel sau.

=CONCATENATE("(",B2, ",'",C2,"'),")
  • Thông tin excel đưa ra sẽ là như thế này, đây là phần đuôi SQL, phần đầu Insert Into thì viết tay.
(1,'user1@email.com'),

1Fy0lMEVm0iG0Kud5JlmgnTSrQ9el9em8

  • Copy toàn bộ cột SQL vào Mysql admin hoặc IDE SQL nào đó, đồng thời viết phần đầu Insert Into, sẽ có đoạn code như sau
insert into user_log (
	id,
	email
) values
(1,'user1@email.com'),
(2,'user2@email.com'),
(3,'user3@email.com'),
(4,'user4@email.com'),
(5,'user5@email.com'),
(6,'user6@email.com'),
(7,'user7@email.com'),
(8,'user8@email.com'),
(9,'user9@email.com'),
(10,'user10@email.com'),
(11,'user11@email.com'),
(12,'user12@email.com'),
(13,'user13@email.com'),
(14,'user14@email.com'),
(15,'user15@email.com'),
(16,'user16@email.com'),
(17,'user17@email.com'),
(18,'user18@email.com'),
(19,'user19@email.com'),
(20,'user20@email.com'),
(21,'user21@email.com'),
(22,'user22@email.com'),
(23,'user23@email.com'),
(24,'user24@email.com'),
(25,'user25@email.com'),
(26,'user26@email.com'),
(27,'user27@email.com'),
(28,'user28@email.com'),
(29,'user29@email.com'),
(30,'user30@email.com'),
(31,'user31@email.com'),
(32,'user32@email.com'),
(33,'user33@email.com'),
(34,'user34@email.com')
  • Lưu ý: dòng cuối sẽ thừa 1 dấu ',' nên xoá đi trước khi chạy:
  • Excute và kết quả có được:
select * from user_log

1Y7zMY88aNI0SlCrX9iW1EPnhXDyk8Rvi

  • Nếu dữ liệu quá nhiều, bạn có thể chia nhỏ ra import 50 record chẳng hạn.

III. Kết luận:

  • Với cách làm trên giúp tiết kiệm thời gian, sức lao động, đồng thời đảm bảo dữ liệu nhập vào không bao giờ sai.