Membuat tabel dengan SQLAlchemy
Sebelumnya, Anda menggunakan objek Table untuk merefleksikan sebuah tabel dari basis data yang sudah ada, tetapi bagaimana jika Anda ingin membuat tabel baru? Anda tetap akan menggunakan objek Table; namun, Anda perlu mengganti parameter autoload dan autoload_with dengan objek Column.
Objek Column menerima sebuah nama, tipe SQLAlchemy dengan format opsional, serta argumen kata kunci opsional untuk berbagai kendala (constraint).
Saat mendefinisikan tabel, ingat bagaimana dalam video Jason memberikan 255 sebagai panjang maksimum untuk String dengan menggunakan Column('name', String(255)). Melihat kembali slide dari video tersebut bisa membantu.
Setelah mendefinisikan tabel, Anda dapat membuat tabel di basis data dengan menggunakan metode .create_all() pada metadata dan memberikan engine sebagai satu-satunya parameter. Silakan coba!
Latihan ini adalah bagian dari kursus
Pengantar Basis Data di Python
Petunjuk latihan
- Impor
Table,Column,String,Integer,Float,Booleandarisqlalchemy. - Bangun tabel baru bernama
datadengan kolom'name'(String(255)),'count'(Integer()),'amount'(Float()), dan'valid'(Boolean()). Argumen keduaTable()harusmetadata, yang sudah diinisialisasi. - Buat tabel di basis data dengan memberikan
enginekemetadata.create_all().
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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))