Cách nhập dữ liệu từ Python sang SQL Server
Tìm hiểu cách viết mã Python thực thi tiện ích SQL Server BULK INSERT để tải dữ liệu từ tệp CSV vào bảng cơ sở dữ liệu ở tốc độ caoGiới thiệuThu thập dữ liệu là một phần lớn của nhiều dự án phân tích dữ liệu và vòng đời phát triển hệ thống. Bài viết này sẽ chỉ cho bạn cách viết một chương trình Python đơn giản sử dụng tiện ích BULK INSERT để chèn nhanh dữ liệu từ tệp CSV vào bảng cơ sở dữ liệu SQL Server Show
Có nhiều cách để tải dữ liệu từ tệp CSV vào bảng SQL Server. Dưới đây là một số phương pháp
Nếu có rất nhiều cách để lấy dữ liệu từ CSV vào cơ sở dữ liệu SQL Server, tại sao phải viết chương trình Python gọi tiện ích BULK INSERT để tải dữ liệu vào bảng?
Tôi sử dụng môi trường Windows 10 và nhiều công cụ của Microsoft cũng như các công cụ khác để phát triển phần mềm, cơ sở dữ liệu và phân tích dữ liệu của tôi. Dưới đây là danh sách các phần mềm mà tôi đã sử dụng cho bài viết này
Đối với ví dụ được trình bày trong bài viết này, tôi đã tạo một tệp CSV với 10.000 bản ghi dữ liệu bịa đặt từ Trình tạo dữ liệu trực tuyến miễn phí. Tệp được gọi là c. \test_data_folder\person. csv. Nó chứa các cột ID, Chức danh công việc, Địa chỉ email và FirstName LastName. Một chương trình Python sẽ thực thi câu lệnh SQL Server BULK INSERT để tải dữ liệu từ tệp vào bảng Nội dung của người. tệp csv. Hình ảnh của tác giả. Tạo cơ sở dữ liệu và bảngLưu ý quan trọng về các phiên bản máy chủ SQLMicrosoft đã giới thiệu khả năng sử dụng BULK INSERT để chèn dữ liệu từ tệp CSV trong SQL Server 2017. Vì vậy, bạn sẽ cần phiên bản đó hoặc mới hơn để sử dụng khả năng này Tạo cơ sở dữ liệuDưới đây là các bước được sử dụng để tạo cơ sở dữ liệu có tên HR (dành cho Nhân sự) Kết nối với máy chủ SQL
Tạo cơ sở dữ liệu nhân sự
Xác minh rằng cơ sở dữ liệu nhân sự xuất hiện trong Object Explorer. Nếu không, nhấp chuột phải vào Cơ sở dữ liệu và nhấp vào [Làm mới]. Nó sẽ đi vào xem Tạo bảngTại thời điểm này, cơ sở dữ liệu nhân sự sẽ không chứa bất kỳ bảng hoặc đối tượng nào khác, chẳng hạn như các thủ tục được lưu trữ. Mặc dù BULK INSERT có thể tạo bảng khi nó chạy, nhưng tôi nhận thấy rằng việc tạo bảng trước thời hạn mang lại nhiều lợi thế. Ví dụ: tôi có thể chỉ định (các) cột chính của bảng cũng như loại và độ dài của từng cột. Nhìn lại dữ liệu mẫu trong tệp CSV, hãy tạo các cột có cùng tên và với các loại dữ liệu này
Vì tất cả các hàng sẽ có giá trị cho tất cả các cột, hãy đặt từng cột thành NOT NULL. Ngoài ra, vì ID là mã định danh duy nhất cho mỗi hàng, hãy chọn nó làm khóa Làm theo các bước sau để tạo bảng
Bây giờ cơ sở dữ liệu nhân sự và bảng Person đã tồn tại, hãy kiểm tra một chương trình Python đơn giản sử dụng tiện ích BULK INSERT. Nó chỉ đơn giản là chèn tất cả các bản ghi từ tệp CSV vào bảng Person Mô-đun mãChương trình Python này bao gồm hai mô-đun hoặc tệp
Mã logicKhi chương trình khởi tạo lớp c_bulk_insert, nó sẽ thực hiện các bước sau
Mật mãLớp Python c_bulk_insert trong mô-đun c_bulk_insert. py thực hiện logic được mô tả trong phần Code Logic ở trên """ Mô-đun sql_server_bulk_insert. py khởi tạo c_bulk_insert. Nó gọi nó với
""" Kết quảSau khi chương trình chạy, việc thực thi truy vấn CHỌN trong SSMS cho thấy rằng nó đã ghi các bản ghi từ tệp CSV vào bảng Person Chạy truy vấn CHỌN trong SSMS cho thấy chương trình Python đã thực thi thành công tiện ích BULK INSERT để ghi các bản ghi từ tệp CSV vào bảng Person. Hình ảnh của tác giả. Đi đâu từ đâyCó thể có nhiều lý do và cách để nâng cao chương trình. Dưới đây là một vài ý tưởng
Như bạn có thể thấy, sử dụng Python để gọi BULK INSERT là một cách để tự động hóa một phần quy trình công việc nhằm nhanh chóng chèn dữ liệu từ tệp CSV vào bảng cơ sở dữ liệu SQL Server. Nó có thể chứng minh là một kỹ thuật hữu ích để thêm vào bộ công cụ phân tích dữ liệu hoặc phát triển phần mềm của bạn Giới thiệu về tác giảRandy Runtsch là nhà phân tích dữ liệu, nhà phát triển phần mềm, nhà văn, nhiếp ảnh gia, người đi xe đạp và nhà thám hiểm. Ông và vợ sống ở đông nam Minnesota, U. S. A Theo dõi các bài viết sắp tới của Randy về bộ dữ liệu công khai để thúc đẩy các giải pháp phân tích dữ liệu, lập trình, phân tích dữ liệu, nhiếp ảnh, du lịch bằng xe đạp, bia, v.v. Làm cách nào để chèn dữ liệu từ Python sang SQL Server?Các bước để chèn giá trị vào bảng SQL Server bằng Python . Bước 1. Cài đặt gói Pyodbc. . Bước 2. Kết nối Python với máy chủ SQL. . Bước 3. Chèn các giá trị vào bảng SQL Server bằng Python. . Bước 4. Xác minh kết quả Làm cách nào để kết nối Python với Microsoft SQL Server?Các bước kết nối Python với SQL Server bằng pyodbc . Bước 1. Cài đặt pyodbc. Để bắt đầu, hãy cài đặt gói pyodbc sẽ được sử dụng để kết nối Python với SQL Server. . Bước 2. Lấy tên máy chủ. Tiếp theo, truy xuất tên máy chủ của bạn. . Bước 3. Kết nối Python với máy chủ SQL Làm cách nào để kết nối Python với cơ sở dữ liệu SQL?Để tạo kết nối giữa cơ sở dữ liệu MySQL và Python, phương thức connect() của mysql. mô-đun trình kết nối được sử dụng . Chúng tôi chuyển các chi tiết cơ sở dữ liệu như Tên máy chủ, tên người dùng và mật khẩu trong lệnh gọi phương thức, sau đó phương thức trả về đối tượng kết nối.
Làm cách nào để nhập tệp CSV trong SQL Server bằng truy vấn?Nhập tệp CSV vào máy chủ SQL bằng quản lý máy chủ SQL. . Đăng nhập vào cơ sở dữ liệu của bạn bằng SQL Server Management Studio Nhấp chuột phải vào cơ sở dữ liệu và chọn Nhiệm vụ -> Nhập dữ liệu |