Là một nhà khoa học / Nhà phân tích dữ liệu, hầu hết thời gian chúng ta cần tạo kết nối với các công cụ khác nhau để giải quyết vấn đề kinh doanh của mình. thông thường, chúng tôi cần lấy dữ liệu của mình từ cơ sở dữ liệu quan hệ được lưu trữ trên máy chủ cục bộ của bạn hoặc trong cơ sở dữ liệu trung tâm trên đám mây. vậy làm cách nào để trích xuất dữ liệu từ cơ sở dữ liệu, một cách là chúng tôi sẽ trích xuất dữ liệu bằng cách chạy tập lệnh SQL và lưu dữ liệu trên excel và nhập tệp excel đó vào Python. Tuy nhiên, cách hiệu quả nhất để sử dụng SQL trực tiếp trong Python
Trước khi bắt đầu, nhiều người trong chúng ta có thể muốn biết SQL là gì?
SQL là viết tắt của Structured Query Language, là ngôn ngữ cơ sở dữ liệu được sử dụng để trích xuất/thao tác hoặc truy vấn dữ liệu được lưu trữ trong hệ thống quản lý cơ sở dữ liệu quan hệ [RDBMS]. Có các tùy chọn khác để xử lý dữ liệu đó, nhưng SQL là ngôn ngữ phổ biến nhất, được sử dụng rộng rãi trong ngành
SQL có thể làm gì?- Thực hiện các truy vấn đối với cơ sở dữ liệu
- Lấy dữ liệu từ cơ sở dữ liệu
- Chèn bản ghi vào cơ sở dữ liệu
- Cập nhật bản ghi trong cơ sở dữ liệu
- Xóa bản ghi khỏi cơ sở dữ liệu
- Tạo cơ sở dữ liệu mới
- Tạo bảng mới trong cơ sở dữ liệu
- Tạo dạng xem trong cơ sở dữ liệu
Như bạn đã biết, chúng tôi cần lấy dữ liệu từ cơ sở dữ liệu, vì vậy một cách là chúng tôi sẽ trích xuất dữ liệu bằng cách chạy tập lệnh SQL và lưu dữ liệu trên excel và nhập tệp excel đó vào Python. một cách khác là cách hiệu quả nhất để sử dụng SQL trực tiếp trong Python
Các thư viện tạo kết nối giữa SQL với Python là gì?
Có nhiều thư viện đã được phát triển cho mục đích này có thể được sử dụng. Trong hướng dẫn này, tôi sẽ sử dụng thư viện Pyodbc tích hợp với Pandas
Ảnh của Nick Morrison trên UnsplashInstallation
Để cài đặt thư viện pyodbc chạy mã bên dưới, lệnh này sẽ tự động tải xuống và cài đặt thư viện
pip install pyodbc
Nhập các thư viện cần thiếttrong bước này, chúng tôi sẽ nhập các thư viện quan trọng mà chúng tôi sẽ sử dụng trong suốt hướng dẫn này
import pandas as pd
import pyodbc
Bắt đầu nhanhKhi thư viện được nhập, chúng ta cần lấy các chi tiết sau
Lấy tên máy chủTên máy chủ SQLLấy tên cơ sở dữ liệu
Tiếp theo, lấy tên cơ sở dữ liệu lưu trữ bảng bạn muốn
Lấy tên bảngBây giờ, bạn sẽ cần lấy tên của bảng mong muốn nơi lưu trữ dữ liệu và sau khi thu thập thông tin chi tiết, hãy cập nhật thông tin chi tiết ở định dạng bên dưới
server = 'INxxxxxxxxx' # your local server name
database = 'xxxxx-old' # database name that is stored in server
Tạo kết nối và con trỏ
connection = pyodbc.connect['driver={SQL Server};server=xxxxxxx;database=xxxxxxx']cursor = connection.cursor[]Truy vấn dữ liệu sử dụng câu lệnh SQL
cursor
Bây giờ bạn đã được kết nối với cơ sở dữ liệu, bạn có thể gửi truy vấn dữ liệu. Hai mệnh đề chính phải có trong mọi truy vấn là SELECT
và FROM
cú pháp
CHỌN cột1, cột2, …
TỪ tên_bảng;
Sau khi nhận được phản hồi từ cơ sở dữ liệu, chúng tôi cần đặt nó vào khung dữ liệu gấu trúc
query='select * from [dbo].[Iris_data]'# To extract all columns x=pd.read_sql[query,connection]
x.head[]
đầu ra
Nếu chúng tôi muốn trích xuất một số cột cụ thể, chúng tôi có thể thực hiện điều đó bằng cách chạy mã bên dưới
query='select sepal_length,sepal_width from [dbo].[Iris_data]'
pd.read_sql[query,connection]
đầu ra
Nếu bạn muốn lấy các hàng riêng biệt từ một cột, bạn có thể chạy câu lệnh SQL này
query='select distinct sepal_length from [dbo].[Iris_data]'
pd.read_sql[query,connection]
Các tuyên bố trên bao gồm những điều cơ bản về SQL trong Python. Tương tự, bạn có thể viết thêm nhiều câu lệnh SQL khác có thể sử dụng trong python, để biết thêm chi tiết về SQL, bạn có thể tham khảo liên kết này
Phần kết luậnCó nhiều thư viện có thể giúp chúng ta tương tác SQL với Python, tôi tin rằng việc tích hợp với nhiều công cụ có thể thực sự hiệu quả và có thể mang lại kết quả đáng kinh ngạc
Tôi hy vọng bài viết này sẽ giúp ích cho bạn và đưa ra một góc nhìn khác. để tôi biết nếu bạn có bất kỳ sự gợi ý nào
Hãy Trung thực. KHÔNG phải là tình huống lý tưởng để lưu các tập lệnh sql dưới dạng tệp cục bộ. Bạn sẽ tốt hơn nếu có các chế độ xem đã lưu trong chính SQL Server. Nhưng bạn có thấy mình trong tình huống có các tệp sql cục bộ không?
Khi viết tập lệnh sql và lưu nó vào. sql, mọi thứ có thể trở nên lộn xộn. Tôi đã từng có các thư mục chứa 'phiên bản x. x', mà còn là 'bản sao của phiên bản x. x', địa ngục, thậm chí là 'bản sao của bản sao của phiên bản x. x'. Tôi rất khó chịu vì điều này, vì vậy một thời gian dài trước đây, tôi đã thay đổi cách làm việc của mình thành
'name_of_file' theo sau là '_YYMMDDHHMM' nên thư mục của tôi gọn gàng như ngăn kéo nhà bếp và tôi có thể tìm thấy phiên bản mới nhất. Cách làm việc này cũng hữu ích khi bạn muốn Python luôn nhập phiên bản mới nhất của bạn. Và đó chỉ là những gì chúng ta đang theo đuổi