Cơ sở dữ liệu tốt nhất cho Python là gì?

Nếu bạn là nhà phát triển phần mềm, tôi tin rằng bạn phải biết hoặc thậm chí đã sử dụng cơ sở dữ liệu cực kỳ nhẹ — SQLite. Nó có hầu hết các tính năng bạn cần như một cơ sở dữ liệu quan hệ, nhưng mọi thứ được lưu trong một tệp duy nhất. Trên trang web chính thức, đây là một số tình huống mà bạn có thể sử dụng SQLite

  • Thiết bị nhúng và IoT
  • Phân tích dữ liệu
  • truyền dữ liệu
  • Lưu trữ tệp và/hoặc vùng chứa dữ liệu
  • Cơ sở dữ liệu nội bộ hoặc tạm thời
  • Dự phòng cho cơ sở dữ liệu doanh nghiệp trong quá trình demo hoặc thử nghiệm
  • Giáo dục, đào tạo và kiểm tra
  • Phần mở rộng ngôn ngữ SQL thử nghiệm

Có nhiều lý do hơn mà bạn có thể muốn sử dụng SQLite, vui lòng xem tài liệu

Sử dụng thích hợp cho SQLite

SQLite không thể so sánh trực tiếp với các công cụ cơ sở dữ liệu SQL máy khách/máy chủ như MySQL, Oracle, PostgreSQL hoặc SQL…

www. sqlite. tổ chức

Quan trọng nhất, SQLite được tích hợp sẵn trong thư viện Python. Nói cách khác, bạn không cần cài đặt bất kỳ phần mềm phía máy chủ/phía máy khách nào và bạn không cần duy trì thứ gì đó chạy như một dịch vụ, miễn là bạn đã nhập thư viện bằng Python và bắt đầu viết mã, sau đó bạn

Nhập khẩu và sử dụng

Ảnh của CopyrightFreePictures trên Pixabay

Khi chúng tôi nói “tích hợp sẵn”, điều đó có nghĩa là bạn thậm chí không cần chạy

con = sl.connect('my-test.db')
0 để lấy thư viện. Đơn giản chỉ cần nhập nó bằng cách

import sqlite3 as sl

Tạo kết nối tới DB

Đừng bận tâm đến trình điều khiển, chuỗi kết nối, v.v. Bạn có thể tạo cơ sở dữ liệu SQLite và có một đối tượng kết nối đơn giản như

con = sl.connect('my-test.db')

Sau khi chúng ta chạy dòng code này là chúng ta đã tạo xong cơ sở dữ liệu và kết nối nó với nó rồi. Điều này là do cơ sở dữ liệu mà chúng tôi yêu cầu Python kết nối không tồn tại nên nó tự động tạo một cơ sở dữ liệu trống. Mặt khác, chúng ta có thể sử dụng cùng một mã để kết nối với cơ sở dữ liệu hiện có

Tạo một bảng

Sau đó, hãy tạo một bảng

with con:
con.execute("""
CREATE TABLE USER (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
name TEXT,
age INTEGER
);
""")

Trong bảng

con = sl.connect('my-test.db')
1 này, chúng tôi đã thêm ba cột. Như bạn có thể thấy, SQLite thực sự rất nhẹ, nhưng nó hỗ trợ tất cả các tính năng cơ bản mà một RDBMS thông thường nên có, chẳng hạn như kiểu dữ liệu, nullable, khóa chính và tự động tăng

Sau khi chạy mã này, chúng ta đã tạo một bảng rồi, mặc dù nó không xuất ra gì

Chèn bản ghi

Hãy chèn một số bản ghi vào bảng

con = sl.connect('my-test.db')
1 mà chúng ta vừa tạo, điều này cũng có thể chứng minh rằng chúng ta thực sự đã tạo ra nó

Giả sử chúng ta muốn chèn nhiều mục trong một lần. SQLite trong Python có thể đạt được điều này một cách dễ dàng

sql = 'INSERT INTO USER (id, name, age) values(?, ?, ?)'
data = [
(1, 'Alice', 21),
(2, 'Bob', 22),
(3, 'Chris', 23)
]

Chúng ta cần xác định câu lệnh SQL có dấu chấm hỏi

con = sl.connect('my-test.db')
3 làm trình giữ chỗ. Sau đó, hãy tạo một số dữ liệu mẫu để chèn. Với đối tượng kết nối, sau đó chúng ta có thể chèn các hàng mẫu này

________số 8

Nó không phàn nàn sau khi chúng tôi chạy mã, vì vậy nó đã thành công

Truy vấn bảng

Bây giờ, đã đến lúc xác minh mọi thứ chúng tôi đã làm một cách hữu hình. Hãy truy vấn bảng để lấy lại các hàng mẫu

with con:
data = con.execute("SELECT * FROM USER WHERE age <= 22")
for row in data:
print(row)

Bạn có thể thấy nó đơn giản như thế nào

Ngoài ra, mặc dù SQLite có trọng lượng nhẹ, nhưng là một cơ sở dữ liệu được sử dụng rộng rãi, hầu hết các phần mềm máy khách SQL đều hỗ trợ sử dụng nó

Cái tôi sử dụng nhiều nhất là DBeaver, hãy xem nó trông như thế nào

Kết nối với SQLite DB từ Máy khách SQL (DBeaver)

Vì tôi đang sử dụng Google Colab nên tôi sẽ tải xuống tệp

con = sl.connect('my-test.db')
4 về máy cục bộ của mình. Trong trường hợp của bạn, nếu bạn chạy Python trên máy cục bộ của mình, bạn có thể sử dụng máy khách SQL của mình để kết nối trực tiếp với tệp cơ sở dữ liệu

Trong DBeaver, tạo kết nối mới và chọn SQLite làm loại DB

Sau đó, duyệt tệp DB

Bây giờ, bạn có thể chạy bất kỳ truy vấn SQL nào trên cơ sở dữ liệu. Nó không có gì khác biệt so với các cơ sở dữ liệu quan hệ thông thường khác

Tích hợp liền mạch với Pandas

Ảnh của GraphicMama-team trên Pixabay

Bạn có nghĩ rằng đó là tất cả? . Trên thực tế, là một tính năng tích hợp sẵn của Python, SQLite có thể tích hợp liền mạch với Pandas Data Frame

Hãy xác định một khung dữ liệu

import sqlite3 as sl
1

Sau đó, chúng ta chỉ cần gọi phương thức

con = sl.connect('my-test.db')
5 của khung dữ liệu để lưu nó vào cơ sở dữ liệu

import sqlite3 as sl
3

Đó là nó. Thậm chí chúng ta không cần tạo bảng trước, kiểu dữ liệu cột và độ dài sẽ được suy ra. Tất nhiên, bạn vẫn có thể xác định trước nếu muốn

Sau đó, giả sử chúng ta muốn tham gia bảng

con = sl.connect('my-test.db')
1 và
con = sl.connect('my-test.db')
7 và đọc kết quả vào khung dữ liệu Pandas. Nó cũng liền mạch

import sqlite3 as sl
6

siêu mát. Hãy viết kết quả vào một bảng mới có tên là

con = sl.connect('my-test.db')
8

import sqlite3 as sl
8

Sau đó, chúng ta cũng có thể sử dụng máy khách SQL của mình để truy xuất bảng

Tóm lược

Ảnh của Monoar_CGI_Artis trên Pixabay

Thật vậy, có rất nhiều điều bất ngờ ẩn chứa trong Python. Chúng không có nghĩa là bị ẩn, mà chỉ vì có quá nhiều tính năng vượt trội hiện có trong Python để một người khám phá tất cả chúng

Trong bài viết này, tôi đã giới thiệu cách sử dụng thư viện có sẵn của Python

con = sl.connect('my-test.db')
9 để tạo và thao tác với các bảng trong SQLite DB. Tất nhiên, nó cũng hỗ trợ cập nhật và xóa nhưng tôi nghĩ bạn sẽ tự mình thử sau này

Quan trọng nhất, chúng ta có thể dễ dàng đọc một bảng từ SQLite DB vào khung dữ liệu Pandas hoặc ngược lại. Điều này cho phép chúng tôi tương tác dễ dàng hơn với cơ sở dữ liệu quan hệ trọng lượng nhẹ của chúng tôi

Bạn có thể nhận thấy rằng SQLite không có xác thực, đó là hành vi được thiết kế của nó vì mọi thứ cần phải nhẹ. Hãy khám phá thêm nhiều tính năng đáng ngạc nhiên trong Python, hãy tận hưởng nó

Tất cả mã trong bài viết này có thể được tìm thấy trong Google Colab Notebook của tôi

Ví dụ về gấu trúc SQLite

Tạo DB, Tạo bảng, Truy xuất và Tham gia

colab. tìm kiếm. Google. com

Tham gia Medium với liên kết giới thiệu của tôi — Christopher Tao

Là thành viên Phương tiện, một phần phí thành viên của bạn sẽ được chuyển đến các tác giả mà bạn đã đọc và bạn có toàn quyền truy cập vào mọi câu chuyện…

Trung bình. com

Nếu bạn cảm thấy bài viết của tôi hữu ích, hãy cân nhắc tham gia Medium Membership để ủng hộ tôi và hàng ngàn người viết khác. (Nhấp vào liên kết ở trên)

Cơ sở dữ liệu nào là tốt nhất cho chương trình phụ trợ Python?

SQLite có thể là cơ sở dữ liệu rõ ràng nhất và cơ sở dữ liệu SQL phổ biến nhất để kết nối với ứng dụng Python vì bạn không phải cài đặt bất kỳ cơ sở dữ liệu SQL Python bên ngoài hoặc loại hoặc SQL nào .

Cơ sở dữ liệu nào là tốt nhất cho Python và Khoa học dữ liệu?

PostgreSQL .

MySQL có tốt cho Python không?

Máy chủ MySQL sẽ cung cấp tất cả các dịch vụ cần thiết để xử lý cơ sở dữ liệu của bạn. Sau khi máy chủ được thiết lập và chạy, bạn có thể kết nối ứng dụng Python của mình với nó bằng Trình kết nối MySQL/Python .

SQL có tốt với Python không?

Các nhà khoa học dữ liệu sử dụng SQL trong Python trong nhiều trường hợp khác nhau, được quyết định bởi trường hợp sử dụng hiện tại hoặc theo sở thích cá nhân. SQL chủ yếu được sử dụng để sắp xếp dữ liệu, đặc biệt là trong các truy vấn đào tạo, cũng như để phân tích đặc biệt các kết quả của mô hình .