Php nhập csv lớn vào mysql

Bài viết này sẽ chỉ cho bạn cách nhập một số lượng lớn bản ghi từ tệp CSV vào Ứng dụng Laravel bằng trình tạo cơ sở dữ liệu

Khi chúng tôi có hàng nghìn hoặc hàng triệu bản ghi hoặc tệp CSV mà chúng tôi muốn lưu trữ trong cơ sở dữ liệu của mình, chúng tôi thường sử dụng các công việc định kỳ hoặc hàng đợi. Chúng tôi có thể sử dụng trình tạo cơ sở dữ liệu để nhập bản ghi nếu chúng tôi chỉ muốn nhập tệp CSV một lần

Vì tệp lớn và ứng dụng không thể xử lý nhiều yêu cầu cùng một lúc nên nó sẽ hiển thị thời gian thực hiện tối đa khi chúng tôi sử dụng chức năng nhập để lưu trữ lượng lớn dữ liệu. Vì vậy, chúng tôi đã thêm một mã ví dụ tuyệt vời để chèn tệp CSV lớn vào cơ sở dữ liệu bằng ứng dụng laravel chỉ trong vài phút hoặc vài giây

Bước 1. Cài đặt ứng dụng Laravel

Cài đặt một ứng dụng laravel mới, vì vậy hãy vào terminal, gõ lệnh và tạo một ứng dụng laravel mới

composer create-project --prefer-dist laravel/laravel large-csv-laravel

hoặc, nếu bạn đã cài đặt Trình cài đặt Laravel dưới dạng phần phụ thuộc của nhà soạn nhạc toàn cầu

laravel new large-csv-laravel

Bước 2. Cấu hình chi tiết cơ sở dữ liệu

Nhập thông tin đăng nhập cơ sở dữ liệu của bạn, bao gồm tên cơ sở dữ liệu, tên người dùng và mật khẩu, sau khi mở tệp

laravel new large-csv-laravel
2

DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=

Bước 3. Tạo Migration và Model

Bước tiếp theo là sử dụng thiết bị đầu cuối để chạy lệnh sau để tạo mô hình và tệp di chuyển

php artisan make:model Product -m

thêm đoạn mã sau vào tệp di chuyển

public function up[]
{
    Schema::create['products', function [Blueprint $table] {
        $table->bigIncrements['id'];
        $table->string['name'];
        $table->string['description'];
        $table->timestamps[];
    }];
}

Mở dấu nhắc lệnh và nhập lệnh sau để tạo bảng trong cơ sở dữ liệu

php artisan migrate

Thêm đoạn mã sau vào

laravel new large-csv-laravel
3

____14 tập tin

laravel new large-csv-laravel
0

Bước 5. Chạy Database Seeder

Chạy lệnh sau để chạy Database seeder

laravel new large-csv-laravel
1

Nhập các tệp CSV lớn trong MySQL bằng Laravel và maatwebsite/Laravel-Excel

Nếu bạn đang sử dụng Laravel Excel, bạn có thể sử dụng tính năng chunking. Sử dụng đoạn mã sau để nhập khối vào cơ sở dữ liệu qua Chunk Reading

laravel new large-csv-laravel
0

Nếu bạn đang sử dụng lớp Nhập trong Ứng dụng Laravel của mình thông qua Laravel Excel thì bạn có thể sử dụng các phương pháp sau để nhập dữ liệu vào cơ sở dữ liệu

laravel new large-csv-laravel
1

Cảm ơn bạn đã đọc bài viết này

đọc thêm. Laravel 9 Nhập Xuất Ví dụ Tệp Excel & CSV

Nếu bạn muốn quản lý Máy chủ VPS / VM của mình mà không cần chạm vào dòng lệnh, hãy xem liên kết này. ServerAvatar cho phép bạn thiết lập nhanh các trang web WordPress hoặc PHP tùy chỉnh trên VPS / VM chỉ trong vài phút. Bạn có thể lưu trữ nhiều trang web trên một VPS / VM, định cấu hình chứng chỉ SSL và theo dõi tình trạng của máy chủ mà không cần chạm vào giao diện dòng lệnh

PHP được sử dụng rộng rãi để xây dựng nhiều loại sản phẩm khác nhau, từ ứng dụng web đến ứng dụng cấp doanh nghiệp. Chìa khóa để mã PHP hiệu quả là tuân theo quy trình công việc phù hợp và tự động hóa các quy trình. Kết quả là mã chất lượng cao và không có lỗi

Trong hầu hết các ứng dụng PHP, dữ liệu được lưu trữ, truy cập và trao đổi giữa các thành phần khác nhau của ứng dụng. Để đảm bảo rằng việc trao đổi và truy cập dữ liệu này diễn ra suôn sẻ và không có bất kỳ sự cố nào, nhóm phát triển phải đảm bảo rằng cơ sở dữ liệu và kết xuất dữ liệu ở định dạng phù hợp

Nhập và xuất dữ liệu đến và từ cơ sở dữ liệu là một quy trình đủ phổ biến trong quá trình phát triển PHP. Một hoạt động quan trọng khác là sao lưu và truyền cơ sở dữ liệu

Trong bài viết này, tôi sẽ giải thích cách lưu bảng từ tệp CSV sang MySQL và ngược lại. Bạn cần đăng ký tại Cloudways để khởi chạy máy chủ và ứng dụng ngăn xếp PHP. Trước khi đăng ký, hãy xem xét tất cả các tùy chọn giá từ các nhà cung cấp dịch vụ lưu trữ đẳng cấp thế giới như AWS, DigitalOcean, Linode, Vultr và GCP để bạn có thể tìm thấy tùy chọn hoàn toàn phù hợp với nhu cầu của mình

Lưu trữ PHP. PHP7 và PHP5 tốt nhất. 6 Lưu trữ web

Tạo cơ sở dữ liệu trong MySQL

Bước đầu tiên trong hướng dẫn này là tạo cơ sở dữ liệu MySQL. Vì Cloudways cung cấp trình quản lý mysql tùy chỉnh trong nền tảng chứa cơ sở dữ liệu cho ứng dụng. bạn có thể tạo bảng bằng cách chạy truy vấn SQL. Tạo bảng `employeeinfo` trong cơ sở dữ liệu bằng truy vấn SQL sau

laravel new large-csv-laravel
4

Thao tác này sẽ tạo một bảng mới `employeeinfo` trong cơ sở dữ liệu. Tôi sẽ sử dụng bảng này để chèn dữ liệu từ tệp CSV

Ngừng lãng phí thời gian trên máy chủ

Cloudways xử lý việc quản lý máy chủ cho bạn để bạn có thể tập trung vào việc tạo các ứng dụng tuyệt vời và giữ cho khách hàng của mình hài lòng

Tạo kết nối MySql trong PHP

Để nhập và xuất cơ sở dữ liệu trong MySql sẽ tạo một tệp riêng `config. php`. Thêm mã sau và thay thế thông tin đăng nhập cơ sở dữ liệu bằng mã của bạn. Bạn có thể tìm thông tin đăng nhập db của mình trong chi tiết Truy cập ứng dụng

laravel new large-csv-laravel
5

Có liên quan. Cách kết nối cơ sở dữ liệu MySQL với các trang web PHP

Nhập CSV vào MySQL bằng PHP

Sau khi cơ sở dữ liệu đã được tạo, tiếp theo tôi cần một tệp HTML  có thể tải tệp CSV lên. Đối với tệp HTML này, tôi sẽ sử dụng Trình tải lên tệp HTML ở dạng bootstrap đơn giản

Tạo một tệp và đặt tên là `index. php`. Đây là một hình thức đơn giản để tải lên tệp CSV. Tệp này cũng sẽ hiển thị kết quả trong một bảng đơn giản trên cùng một trang. Khi người dùng gửi biểu mẫu, tất cả các bản ghi sẽ được lưu trong cơ sở dữ liệu

Đầu tiên, tôi sẽ thêm Bootstrap CDN vào chỉ mục. php

laravel new large-csv-laravel
6

Tiếp theo, trong thẻ `body`, hãy thêm mã HTML sau cho biểu mẫu Bootstrap

laravel new large-csv-laravel
7

Bạn có thể nhận thấy rằng tôi đã đặt một hành động thành `functions. tập tin php`. Trong bước tiếp theo, tôi sẽ tạo tệp này và thêm mã vào nó. Tôi cũng đã bao gồm một phương thức `get_all_records[]` ở gần cuối tệp. Phương thức này lấy tất cả các bản ghi từ cơ sở dữ liệu và hiển thị các bản ghi trong bảng trên trang chỉ mục

Tiếp theo, tôi sẽ tạo `hàm. php` và thêm đoạn mã sau vào đó

laravel new large-csv-laravel
8

Khi nhấp vào nút tải lên, tên tệp tạm thời sẽ được lưu trong bộ nhớ và sử dụng vòng lặp `while`, dữ liệu được lưu trong biến $getData. Sau khi quá trình hoàn tất, dữ liệu được sắp xếp theo cột một cách khôn ngoan và cuối cùng được chèn vào bảng `employeeinfo`

Lưu ý rằng `fgetcsv[]` phân tích cú pháp các dòng từ tệp đang mở, kiểm tra các trường CSV và `fopen[]` sẽ mở một tệp hoặc một URL. Có thể kiểm tra mã này bằng cách nhập tệp CSV có dữ liệu kiểm tra

Hiển thị các bản ghi đã lưu

Khi tệp CSV đã được nhập, tôi sẽ hiển thị dữ liệu thông qua một chức năng đơn giản, `get_all_records[]`, được khởi tạo trong `index. php`. Sao chép hàm này vào `function. php`

laravel new large-csv-laravel
9

Trong phương pháp thực sự đơn giản này, tôi chỉ cần chọn tất cả các bản ghi và hiển thị các bản ghi này trên trang chỉ mục thông qua phương thức. Bất cứ khi nào người dùng tải lên tệp CSV, các bản ghi sẽ được lưu trong bảng và sau đó được hiển thị trên trang chỉ mục

Xuất MySQL sang CSV bằng PHP

Xuất dữ liệu từ cơ sở dữ liệu MySQL sang tệp CSV cũng rất dễ dàng. Để chứng minh điều này, tôi sẽ sử dụng chỉ số. php mà tôi đã tạo trước đó

Thêm đoạn mã sau vào tập tin

laravel new large-csv-laravel
0

Sau khi thêm phần đánh dấu HTML này, nút Xuất sẽ xuất hiện bên dưới bảng. Bây giờ thêm điều kiện sau vào hàm. php

laravel new large-csv-laravel
1

Khi nhấp vào nút `Xuất`, các tiêu đề `Loại nội dung. văn bản/csv` có tệp đính kèm `dữ liệu. csv` được gửi

Vì `php. //output` là luồng chỉ ghi cho phép ghi quyền truy cập vào cơ chế bộ đệm đầu ra, tôi đã chọn tất cả dữ liệu từ bảng ở dòng tiếp theo và chuyển nó sang phương thức `fputcsv[]` . Phương thức này định dạng một dòng [được truyền dưới dạng một mảng trường] dưới dạng CSV và ghi nó [được kết thúc bởi một dòng mới] vào tệp đã chỉ định. Cuối cùng, tệp có tất cả dữ liệu mong muốn được tải xuống

Cuối cùng, sau khi tích hợp tất cả mã, bạn sẽ thấy hình dạng ứng dụng cuối cùng sau đây

Bạn cũng có thể thích. CRUD đơn giản trong PHP và MySQL

Phần kết luận

Trong bài viết này, tôi đã thảo luận về cách bạn có thể xuất dữ liệu từ và sang tệp CSV bằng PHP và MySQL. Đây là một ví dụ đơn giản, bạn có thể Thêm logic và xác thực phức tạp hơn theo yêu cầu của mình. Bạn cũng có thể tạo các trường hợp thử nghiệm để xác minh mã và Tích hợp với GitHub bằng Công cụ tích hợp liên tục PHP. Nếu bạn muốn thêm vào cuộc thảo luận hoặc muốn đặt câu hỏi, hãy để lại nhận xét bên dưới

Làm cách nào để nhập tệp CSV lớn vào MySQL?

Nhập CSV vào MySQL bằng Workbench .
Mở trình hướng dẫn Nhập trong bàn làm việc của MySQL. Để mở trình hướng dẫn Nhập, hãy chú ý đến bảng điều hướng thường ở phía bên trái của bàn làm việc MySQL. .
Lựa chọn nguồn dữ liệu. .
Chọn/tạo bảng. .
Điền vào cài đặt nâng cao

Làm cách nào để chèn tệp php CSV dữ liệu lớn vào cơ sở dữ liệu?

Cú pháp với Step by Step. .
Tạo kết nối tới cơ sở dữ liệu.

Chủ Đề