Giới thiệu về SQLite3 trong Python

Feb 11 2023
SQLite3 là một thư viện phần mềm phổ biến và được sử dụng thường xuyên để quản lý cơ sở dữ liệu quan hệ. Nó có thể di động, nhanh chóng và dễ sử dụng, làm cho nó trở thành một lựa chọn tuyệt vời cho các công việc vừa và nhỏ.
Bản tóm tắt

SQLite3 là một thư viện phần mềm phổ biến và được sử dụng thường xuyên để quản lý cơ sở dữ liệu quan hệ.
Nó có tính di động, nhanh chóng và sử dụng đơn giản, làm cho nó trở thành một lựa chọn tuyệt vời cho các công việc vừa và nhỏ.
Hơn nữa, nó không yêu cầu bất kỳ cấu hình hoặc thiết lập nào, làm cho nó trở thành một giải pháp hấp dẫn cho những người mới bắt đầu quản trị cơ sở dữ liệu.

Chúng tôi sẽ đề cập đến các nguyên tắc cơ bản của SQLite3 bằng Python trong bài viết trên blog này, bao gồm cách thiết lập cơ sở dữ liệu, nhập và truy xuất dữ liệu cũng như thực hiện các hoạt động CRUD (Tạo, Đọc, Cập nhật, Xóa) cơ bản.
Chúng tôi cũng sẽ bao gồm một bảng thống kê ở phần kết luận để bạn thoải mái.

Thiết lập SQLite3 bằng Python

Nhập mô-đun sqlite3 là bước đầu tiên để sử dụng SQLite3 trong Python. Khi bạn đã nhập mô-đun, hãy sử dụng mã sau để kết nối với cơ sở dữ liệu SQLite:

import sqlite3

# Connect to a database (creates the database if it doesn't exist)
conn = sqlite3.connect("database.db")

Tạo bảng

Khi bạn đã kết nối với cơ sở dữ liệu, bạn có thể tạo một bảng để chứa dữ liệu của mình. Bạn phải chạy lệnh SQL để tạo bảng. Đoạn mã sau tạo một bảng nhân viên với các cột id, tên và tuổi:

cursor = conn.cursor()

# Create the table
cursor.execute("""
CREATE TABLE IF NOT EXISTS employees (
    id INTEGER PRIMARY KEY,
    name TEXT,
    age INTEGER
)
""")
# Commit the changes
conn.commit()

Bây giờ chúng ta có một bảng, chúng ta có thể chèn dữ liệu vào đó. Để chèn dữ liệu, chúng tôi sử dụng một INSERT INTOcâu lệnh. Đoạn mã sau chèn ba hàng dữ liệu vào employeesbảng:

cursor = conn.cursor()

# Insert data into the table
cursor.execute("""
INSERT INTO employees (id, name, age)
VALUES
    (1, "John Doe", 32),
    (2, "Jane Doe", 27),
    (3, "Jim Smith", 45)
""")
# Commit the changes
conn.commit()

Để lấy dữ liệu từ cơ sở dữ liệu, chúng ta sử dụng một SELECTcâu lệnh. Đoạn mã sau lấy tất cả dữ liệu từ employeesbảng:

cursor = conn.cursor()

# Select all data from the table
cursor.execute("""
SELECT *
FROM employees
""")
# Fetch all the data
employees = cursor.fetchall()
# Print the data
for employee in employees:
    print(employee)

Để cập nhật dữ liệu trong cơ sở dữ liệu, chúng tôi sử dụng một UPDATEcâu lệnh. Đoạn mã sau cập nhật tuổi của nhân viên với id2:

curosr = conn.cursor()

# Update the data
cursor.execute("""
UPDATE employees
SET age = 28
WHERE id = 2
""")

Để xóa dữ liệu khỏi cơ sở dữ liệu, chúng ta sử dụng một DELETEcâu lệnh. Đoạn mã sau xóa nhân viên có id3:

cursor = conn.cursor()
cursor.execute("""
DELETE FROM table_name
WHERE some_column = some_value
""")
conn.commit()

Khi bạn đang làm việc với cơ sở dữ liệu, bạn nên ngắt kết nối để đảm bảo rằng tất cả các thay đổi được lưu trữ và để giải phóng tài nguyên. Bạn có thể ngắt kết nối bằng cách nhập mã sau:

conn.close()

import sqlite3
# Connect to a database
conn = sqlite3.connect("database.db")
# Create a table
cursor = conn.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS employees (
    id INTEGER PRIMARY KEY,
    name TEXT,
    age INTEGER,
    salary REAL
)
""")
conn.commit()
# Insert data into the table
cursor = conn.cursor()
cursor.execute("""
INSERT INTO employees (id, name, age, salary)
VALUES
    (1, 'John Doe', 32, 55000),
    (2, 'Jane Doe', 28, 60000),
    (3, 'Jim Smith', 40, 65000)
""")
conn.commit()
# Retrieve data from the table
cursor = conn.cursor()
cursor.execute("""
SELECT *
FROM employees
""")
data = cursor.fetchall()
print(data)
# Update data in the table
cursor = conn.cursor()
cursor.execute("""
UPDATE employees
SET salary = 75000
WHERE id = 1
""")
conn.commit()
# Delete data from the table
cursor = conn.cursor()
cursor.execute("""
DELETE FROM employees
WHERE id = 3
""")
conn.commit()
# Close the connection
conn.close()

Chúng tôi đã đề cập đến các nguyên tắc cơ bản của việc sử dụng SQLite3 trong Python trong bài viết trên blog này, bao gồm cách thiết lập cơ sở dữ liệu, chèn và truy xuất dữ liệu cũng như thực thi các tác vụ CRUD cơ bản. Với kiến ​​thức này, bạn sẽ có thể bắt đầu sử dụng SQLite3 trong các ứng dụng của riêng mình.