Tôi đã viết một tập lệnh php có thể giúp bạn nhập tệp CSV có 2 triệu hàng vào Mysql trong 60 giây
Bạn có thể tải xuống tệp php từ trang github của tôi tại đây
Vài ngày trước khi tôi đang làm việc trong văn phòng của mình, tôi phải tải một tệp csv lớn lên cơ sở dữ liệu MySQL. Tệp csv có 2 triệu hàng. Phpmyadmin , mysqlworkbecnh không hỗ trợ tải lên các tệp CSV lớn này. Trang web phpmyadmin đề xuất một tập lệnh có tên là big dump rất chậm, đã tìm thấy nhiều tập lệnh trên web cố thực hiện một loạt câu lệnh chèn nhưng chúng rất chậm
Sau khi một số nghiên cứu cho thấy cách tốt nhất để tải lên các tệp csv lớn là sử dụng Lệnh MYSQL LOAD DATA, lệnh này giúp thực hiện công việc rất dễ dàng và nhanh chóng
LOAD DATA tên tập tin INFILE ĐỊA PHƯƠNG
INTO TABLE tên bảng
LĨNH VỰC KẾT THÚC bởi ','
CÁC DÒNG ĐƯỢC KẾT THÚC BỞI ’\n’
Bạn có thể tìm hiểu thêm về lệnh này tại đây
Để làm cho quá trình dễ dàng hơn, tôi đã viết một tập lệnh php sử dụng lệnh trên để nhập tệp csv. Đây là giao diện của trang Php
Nếu bạn đã quen thuộc với quy trình tìm việc, có lẽ bạn đã nhận thấy rằng một số công ty thích sử dụng bài tập về nhà để xác định xem ứng viên có phù hợp hay không. Vì hầu hết các công ty đều sử dụng SQL nên họ thường muốn xem liệu bạn có thể giải quyết vấn đề bằng SQL hay không. Tuy nhiên, không phải tất cả các công ty sẽ cung cấp cho bạn bất kỳ bộ dữ liệu nào để làm việc với. Có khả năng là một công ty chỉ có thể cung cấp một lược đồ bảng và bạn có thể tự hỏi liệu các truy vấn của mình có thực sự chạy được không. Do đó, nhập tập dữ liệu vào cơ sở dữ liệu có thể rất hữu ích
Trong bài viết này, tôi sẽ trình bày cách cài đặt MySQL Workbench và nhập dữ liệu vào MySQL Workbench từng bước
Bắt đầuMySQL Workbench là một công cụ trực quan hợp nhất dành cho kiến trúc sư cơ sở dữ liệu, nhà phát triển và DBA. Nó có sẵn trên Windows, Linux và Mac OS X. Trong bài viết này, tôi sẽ sử dụng hệ thống Mac OSX. Để bắt đầu, bạn sẽ cần cài đặt MySQL và MySQL Workbench
Để cài đặt MySQL bằng trình cài đặt gói
Tải xuống tệp hình ảnh đĩa [.dmg
] [phiên bản cộng đồng có sẵn tại đây] có chứa trình cài đặt gói MySQL. Bấm đúp vào tệp để gắn ảnh đĩa và xem nội dung của nó
Trang cài đặt MySQL [Ảnh chụp màn hình của tác giả]
Đừng quên mật khẩu này vì bạn sẽ cần mật khẩu này để đăng nhập vào bàn làm việc MySQL của mình sau này. [Ảnh chụp màn hình của Tác giả]
Sau khi cài đặt cả MySQL và MySQL Workbench, bây giờ bạn có thể mở MySQL Workbench. Tôi đã mắc lỗi khi không cài đặt MySQL vì tôi quên mất SQL tôi đã cài đặt là Postgresql. Nếu bạn không cài đặt MySQL, bạn sẽ không thể kết nối với cơ sở dữ liệu
MySQL Workbench không thể phát hiện bất kỳ MySQL nào → THỜI GIAN TẢI XUỐNG MYSQL. [Ảnh chụp màn hình của Tác giả]
Nếu bạn tải xuống MySQL thành công, bạn sẽ thấy một cửa sổ bật lên để nhập cùng một mật khẩu mà bạn đã đặt trước đó. Sau khi nhập mật khẩu, bạn sẽ thấy một cái gì đó như thế này
vâng. Bạn đã kết nối với MySQL [Ảnh chụp màn hình của Tác giả]
Bây giờ bạn có thể nhấp vào phiên bản MySQL
Nếu bạn vẫn thấy lỗi này ngay cả sau khi cài đặt MySQL, bạn có thể nhấp vào nút “Đã dừng” ở góc trên cùng bên phải của màn hình hoặc nhấp vào nút “Khởi động/Tắt máy”
Thông báo lỗi không có kết nối được thiết lập [Ảnh chụp màn hình của Tác giả]
[Ảnh chụp màn hình của Tác giả]Tạo Lược đồ/Bảng
Nếu bạn muốn giữ cho các bảng ngăn nắp hơn, bạn có thể tạo một lược đồ cho từng dự án mà bạn đang thực hiện. Bằng cách này, bạn sẽ dễ dàng tìm thấy các bảng khác nhau cho từng dự án hơn. Bạn chỉ cần nhấp chuột phải và chọn Tạo lược đồ. ”
Cách tạo lược đồ [Ảnh chụp màn hình của Tác giả]
Bây giờ bạn đã tạo một lược đồ, bạn có thể chọn “Tạo bảng” hoặc “Trình hướng dẫn nhập dữ liệu bảng” để tạo một bảng trong lược đồ
Cách tạo bảng [Ảnh chụp màn hình của Tác giả]
Đây là những gì bạn sẽ thấy khi tạo một bảng
Tạo một bảng trống [Ảnh chụp màn hình của Tác giả]Nhập tệp CSV
Đầu tiên, tìm đường dẫn tệp của tệp CSV mà bạn muốn nhập
Tìm đường dẫn đến dữ liệu [Ảnh chụp màn hình của Tác giả]
Bạn có thể tạo bảng mới hoặc thêm vào bảng hiện có [Ảnh chụp màn hình của Tác giả]
Thật không may, tôi không thể nhập dữ liệu vì “Trình hướng dẫn nhập dữ liệu bảng không thành công trên tệp được mã hóa UTF-8 với BOM. ” Tôi không hiểu tại sao điều này lại xảy ra vì tôi đã lưu tệp dưới dạng UTF-8 CSV
Cuối cùng, tôi phát hiện ra rằng bằng cách nào đó đối với hệ thống Mac OSX, chúng tôi cần mở tệp CSV hoặc excel bằng Numbers/Notepad, sau đó xuất tệp dưới dạng. định dạng csv
Lưu tệp dưới dạng tệp CSV [Ảnh chụp màn hình của Tác giả]
Đôi khi, nó chỉ hoạt động nếu bạn thay đổi mã hóa thành mã hóa khác [Ảnh chụp màn hình của Tác giả]
Xin chúc mừng. Bạn làm được rồi. Bây giờ bạn đã tải thành công tệp CSV vào bàn làm việc của MySQL và bạn có thể bắt đầu viết truy vấn