Bắt đầu ngayBắt đầu miễn phí

Tạo bảng với SQLAlchemy

Trước đây, bạn đã dùng đối tượng Table để phản chiếu (reflect) một bảng từ cơ sở dữ liệu đã tồn tại, nhưng nếu bạn muốn tạo một bảng mới thì sao? Bạn vẫn dùng đối tượng Table; tuy nhiên, bạn cần thay thế các tham số autoloadautoload_with bằng các đối tượng Column.

Đối tượng Column nhận tên, một kiểu dữ liệu của SQLAlchemy có thể kèm định dạng tùy chọn, và các tham số từ khóa tùy chọn cho những ràng buộc khác nhau.

Khi định nghĩa bảng, nhớ lại trong video Jason đã truyền 255 làm độ dài tối đa của String bằng cách dùng Column('name', String(255)). Xem lại các slide của video có thể giúp bạn.

Sau khi định nghĩa xong, bạn có thể tạo bảng trong cơ sở dữ liệu bằng cách gọi phương thức .create_all() trên metadata và truyền engine làm tham số duy nhất. Bắt tay vào làm nhé!

Bài tập này là một phần của khóa học

Nhập môn Cơ sở dữ liệu với Python

Xem khóa học

Hướng dẫn bài tập

  • Import Table, Column, String, Integer, Float, Boolean từ sqlalchemy.
  • Xây dựng một bảng mới tên data với các cột 'name' (String(255)), 'count' (Integer()), 'amount'(Float()), và 'valid' (Boolean()). Đối số thứ hai của Table() cần là metadata, đối tượng này đã được khởi tạo sẵn.
  • Tạo bảng trong cơ sở dữ liệu bằng cách truyền engine vào metadata.create_all().

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Import Table, Column, String, Integer, Float, Boolean from sqlalchemy
from sqlalchemy import ____, ____, ____, ____, ____, ____

# Define a new table with a name, count, amount, and valid column: data
data = Table('data', ____,
             Column(____, ____),
             Column('count', Integer()),
             Column(____, ____),
             Column(____, ____)
)

# Use the metadata to create the table
metadata.create_all(____)

# Print table details
print(repr(data))
Chỉnh sửa và Chạy Mã