Hướng dẫn powershell import csv to mysql - powershell nhập csv vào mysql

Viết tập lệnh PowerShell đơn giản để sao chép dữ liệu CSV thành cơ sở dữ liệu MySQL.

Các cmdlet CDATA cho CSV cung cấp quyền truy cập trực tiếp vào dữ liệu CSV từ bên trong PowerShell. Sử dụng các tập lệnh PowerShell, bạn có thể dễ dàng tự động hóa các tác vụ thông thường như sao chép dữ liệu. Bài viết này sẽ đi qua bằng cách sử dụng các cmdlet CDATA cho CSV và CMDLET CDATA cho MySQL trong PowerShell để sao chép dữ liệu CSV thành cơ sở dữ liệu MySQL.

Sau khi có được các thuộc tính kết nối cần thiết, việc truy cập dữ liệu CSV trong PowerShell và chuẩn bị sao chép bao gồm bốn bước cơ bản.

Thuộc tính DataSource phải được đặt thành một tên thư mục địa phương hợp lệ.DataSource property must be set to a valid local folder name.

Ngoài ra, chỉ định thuộc tính Bao gồm các tệp để làm việc với các tệp văn bản có các tiện ích mở rộng khác với .csv, .tab hoặc .txt. Chỉ định nhiều tiện ích mở rộng tệp trong danh sách được phân tách bằng dấu phẩy. Bạn cũng có thể đặt các thuộc tính mở rộng tương thích với trình điều khiển Microsoft Jet Ole DB 4.0. Ngoài ra, bạn có thể cung cấp định dạng của các tệp văn bản trong tệp lược đồ.ini.IncludeFiles property to work with text files having extensions that differ from .csv, .tab, or .txt. Specify multiple file extensions in a comma-separated list. You can also set Extended Properties compatible with the Microsoft Jet OLE DB 4.0 driver. Alternatively, you can provide the format of text files in a Schema.ini file.

Đặt người dùng thành true nếu bạn đang xóa hoặc cập nhật trong CSV. Điều này sẽ tạo ra một cột mới với tên Rownumber sẽ được sử dụng làm khóa cho bảng đó.UseRowNumbers to true if you are deleting or updating in CSV. This will create a new column with the name RowNumber which will be used as key for that table.

Thu thập dữ liệu CSV

  1. Cài đặt mô -đun:

    Install-Module CSVCmdlets
  2. Kết nối với CSV:

    $csv = Connect-CSV -DataSource $DataSource
  3. Lấy dữ liệu từ một tài nguyên cụ thể:

    $data = Select-CSV -Connection $csv -Table "Customer"

    Bạn cũng có thể sử dụng CMDLET Invoke-CSV để thực hiện các câu lệnh SQL-92 thuần túy:

    $data = Invoke-CSV -Connection $csv -Query 'SELECT * FROM Customer WHERE FirstName = @FirstName' -Params @{'@FirstName'='Bob'}
  4. Lưu danh sách các tên cột từ dữ liệu được trả về.

    $columns = ($data | Get-Member -MemberType NoteProperty | Select-Object -Property Name).Name

Chèn dữ liệu CSV vào cơ sở dữ liệu MySQL

Với các tên dữ liệu và cột được thu thập, bạn đã sẵn sàng sao chép dữ liệu thành cơ sở dữ liệu MySQL.

  1. Cài đặt mô -đun:

    Install-Module CSVCmdlets
  2. Kết nối với CSV:

    $csv = Connect-CSV -DataSource $DataSource
  3. Lấy dữ liệu từ một tài nguyên cụ thể:

    $data = Select-CSV -Connection $csv -Table "Customer"

Bạn cũng có thể sử dụng CMDLET Invoke-CSV để thực hiện các câu lệnh SQL-92 thuần túy:

Ghi chú

  • Khi bạn đã kết nối với CSV và MySQL trong PowerShell, bạn có thể ống dẫn kết quả để thực hiện sao chép trong một dòng duy nhất:

    SHOW VARIABLES LIKE "secure_file_priv";
    0
  • Nếu bạn muốn sao chép dữ liệu CSV thành cơ sở dữ liệu khác bằng mô-đun PowerShell khác, bạn sẽ muốn loại trừ các cột, kết nối và các cột bảng khỏi dữ liệu được trả về bởi bộ phận chọn lọc-CSV vì các cột đó được sử dụng để giúp dữ liệu ống từ một Cmdlet cdata cho người khác:

    SHOW VARIABLES LIKE "secure_file_priv";
    1

Trong bài viết trước, tôi đã đề cập đến việc nhập tệp SQL trong MySQL (sử dụng CMD hoặc PowerShell) nhưng bây giờ trong bài viết này, tôi đã đề cập đến cách chúng ta có thể nhập tệp CSV trong MySQL bởi một.

Hãy xem xét chúng tôi đang sử dụng tệp CSV dưới đây trong ví dụ này

Hướng dẫn powershell import csv to mysql - powershell nhập csv vào mysql

Nhập CSV vào MySQL bằng truy vấn

Hãy xem ví dụ dễ dàng và đây là truy vấn để lưu tệp CSV trong bảng MySQL

LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/Orders.csv' /*file location*/
INTO TABLE orderdetails.orders 
FIELDS TERMINATED BY ','  /* To make the delimiter a tab, use --fields-terminated-by='\t' */
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS

Bạn có thể thấy chúng tôi có vị trí tệp như '

SHOW VARIABLES LIKE "secure_file_priv";
2' Đây là becasue, tôi đã chuyển tệp CSV của mình sang vị trí '
SHOW VARIABLES LIKE "secure_file_priv";
3' nếu không tôi bị lỗi

Mã lỗi: 1290. Máy chủ MySQL đang chạy với tùy chọn-Secure-File-Priv để nó không thể thực thi câu lệnh này

Để biết vị trí MySQL Secure_File_Priv của bạn, bạn có thể thực hiện truy vấn nàyto know your MySQL secure_file_priv location, you can execute this query

SHOW VARIABLES LIKE "secure_file_priv";

Đây là hình ảnh GIF, hiển thị trước khi chạy đầu ra bảng truy vấn và sau khi chạy truy vấn

Hướng dẫn powershell import csv to mysql - powershell nhập csv vào mysql

Để biến dấu phân cách thành một tab, hãy sử dụng-trường kết thúc-by = '\ t' thay vì ',' trong truy vấn trên.

Nhập CSVFile vào MySQL bằng cách sử dụng MySQL Workbench

Nếu phương thức trên, không hoạt động cho bạn vì một số lý do, bạn cũng có thể dễ dàng nhập tệp CSV bằng cách sử dụng MySQL Workbench trong bảng cơ sở dữ liệu. Hãy xem cách chúng ta có thể làm điều đó từng bước.

Bước 1: Mở rộng cơ sở dữ liệu trong MySQL Workbench và sau đó chọn bảng trong đó chúng tôi muốn nhập CSV, sau đó nhấp chuột phải vào nó và sau đó chọn "Trình hướng dẫn nhập dữ liệu bảng" Expand Database in MySQL Workbench and then select Table in which we want to import CSV, then right-click on it and then select "Table Data import Wizard"

Hướng dẫn powershell import csv to mysql - powershell nhập csv vào mysql

Bước 2: Một cửa sổ sẽ mở, nơi chúng tôi cần chọn tệp CS để nhập, để bạn có thể duyệt và chọn tệp, như trong hình ảnh A Window will open, where we need to select cs file to import, so you can browse and select the file, as shown in the image

Hướng dẫn powershell import csv to mysql - powershell nhập csv vào mysql

Bước 3: Bây giờ, trong màn hình tiếp theo, Nhập trình hướng dẫn sẽ yêu cầu bạn chọn từ bảng đã tạo hoặc tạo một bảng mới, vì chúng tôi đang sử dụng một bản chúng tôi sẽ chọn nó và nhấp vào "Tiếp theo" Now, in the next screen, Import Wizard will ask you to choose from already created table or create new one, since we are using already created one we will choose it and click "Next"

Hướng dẫn powershell import csv to mysql - powershell nhập csv vào mysql

Bước 4: Trong màn hình tiếp theo, Nhập Wizard hiển thị các tiêu đề tệp và cột bảng đích của Nguồn (CSV), mà chúng ta có thể ánh xạ, mặc dù nó đã được ánh xạ, nhưng chúng ta có thể thay đổi ánh xạ nếu cần, một khi chúng ta được thực hiện, hãy nhấp vào "Tiếp theo" In the next screen, import wizard shows source (csv) file headers and destination table columns, which we can map, although it is already mapped, but we can change mapping if needed, once we are done click "Next"

Hướng dẫn powershell import csv to mysql - powershell nhập csv vào mysql

Bước 5: Chúng tôi gần như đã hoàn thành, Nhập Wizard hiển thị nhiệm vụ sẽ được thực hiện, chúng tôi không cần phải làm bất cứ điều gì trong màn hình này, chỉ cần nhấp vào "Tiếp theo" We are almost done, import wizard shows the task which will be performed, we don't need to do anything in this screen, just click on "Next"

Hướng dẫn powershell import csv to mysql - powershell nhập csv vào mysql

Bước 6: Nhập được hoàn thành trong vài giây và bạn sẽ thấy thông báo thành công trong màn hình tiếp theo, như được hiển thị bên dưới Import is completed in few seconds, and you will see success message in next screen, as shown below

Hướng dẫn powershell import csv to mysql - powershell nhập csv vào mysql

Bước 7: Đó là nó, chúng tôi đã hoàn tất, bạn có thể đóng cửa sổ nhập và bây giờ chúng tôi có thể thấy bảng cơ sở dữ liệu MySQL của chúng tôi, bạn sẽ thấy tệp CSV được nhập thành công. That's it, we are done, you can close the import window and now we can see our mysql database table, you will see CSV file is imported successfully.

Hướng dẫn powershell import csv to mysql - powershell nhập csv vào mysql

Vì vậy, đây là 2 phương pháp để nhập tệp CSV trong bảng cơ sở dữ liệu MySQL.

Bạn cũng có thể thích đọc:

Mã lỗi: 1175 - Bạn đang sử dụng chế độ cập nhật an toàn

Nhập CSV vào SQL Server (với truy vấn hoặc không có truy vấn bằng SSMS)

Chuyển đổi CSV thành JSON bằng JavaScript

Danh sách nối tiếp cho JSON trong C#

Cách kiểm tra phiên bản PowerShell đã cài đặt

Trim (), ltrim (), rtrim () hàm trong SQL Server

Phần mềm cơ sở dữ liệu nguồn mở tốt nhất (DBMS)

Nhận ngày từ DateTime trong SQL Server

Danh sách phiên bản Microsoft SQL Server

Tải xuống và cài đặt SQL Server Management Studio (từng bước)

Tải xuống và cài đặt SQL Server (Quy trình từng bước)

Làm cách nào để nhập dữ liệu CSV vào MySQL?

Trong danh sách định dạng, chọn CSV. Thay đổi các tùy chọn cụ thể định dạng. Nếu tệp CSV được phân tách bởi một ký tự không phải là dấu phẩy hoặc nếu có các thông số kỹ thuật khác cho các tệp CSV, chúng ta có thể thay đổi nó trong phần này. Nhấp vào Đi để bắt đầu nhập tệp CSV và dữ liệu sẽ được nhập thành công vào MySQL.

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

PowerShell Nhập khẩu-CSV..
Đường dẫn - (Yêu cầu) Vị trí của tệp CSV ..
DELIMITER - dấu phẩy mặc định, nhưng điều này cho phép bạn thay đổi nó ..
Tiêu đề - Cho phép bạn xác định các tiêu đề tùy chỉnh cho các cột. Được sử dụng làm tên tài sản ..
Useculom - Sử dụng dấu phân cách mặc định của hệ thống của bạn ..
Mã hóa - Chỉ định mã hóa tệp CSV đã nhập ..

Nhập CSV hoạt động như thế nào trong PowerShell?

Nhập CMDLET tạo ra các đối tượng tùy chỉnh giống như bảng từ các mục trong các tệp CSV.Mỗi cột trong tệp CSV trở thành thuộc tính của đối tượng tùy chỉnh và các mục tính theo hàng trở thành giá trị thuộc tính.Nhập CSV hoạt động trên bất kỳ tệp CSV nào, bao gồm các tệp được tạo bởi CMDlet xuất-CSV.creates table-like custom objects from the items in CSV files. Each column in the CSV file becomes a property of the custom object and the items in rows become the property values. Import-Csv works on any CSV file, including files that are generated by the Export-Csv cmdlet.

Làm cách nào để nhập tệp CSV vào cơ sở dữ liệu?

Chọn nguồn dữ liệu (CSV) mà bạn muốn chuyển đổi.
Chọn các tùy chọn đầu vào để đảm bảo các truy vấn SQL được tạo đúng ..
Chọn các tùy chọn đầu ra để định dạng dữ liệu của bạn ..
Sao chép các truy vấn SQL và chạy chúng trong cơ sở dữ liệu của bạn ..
Tạo một không gian làm việc mới ..
Nhập tệp CSV của bạn ..