Hướng dẫn tạo code SQL bằng Excel để insert dữ liệu lớn vào database
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
-
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'),
- 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
- 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.