1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Nhập môn Cơ sở dữ liệu với Python

Connected

Bài tập

Chèn một hàng đơn

Có nhiều cách để thực hiện thao tác insert với SQLAlchemy; tuy nhiên, ở đây chúng ta sẽ tập trung vào cách theo cùng một mẫu với câu lệnh select.

Cách này dùng câu lệnh insert trong đó bạn chỉ định bảng làm đối số, và cung cấp dữ liệu muốn chèn vào thông qua phương thức .values() dưới dạng các đối số từ khóa. Ví dụ, nếu my_table có các cột my_col_1 và my_col_2, thì insert(my_table).values(my_col_1=5, my_col_2="Example") sẽ tạo một hàng trong my_table với giá trị ở my_col_1 bằng 5 và giá trị ở my_col_2 bằng "Example".

Lưu ý sự khác nhau về cú pháp: khi nối thêm một mệnh đề where vào một câu lệnh hiện có, chúng ta bao gồm cả tên bảng lẫn tên cột, ví dụ new_stmt = old_stmt.where(my_tbl.columns.my_col == 15). Điều này là cần thiết vì câu lệnh hiện có có thể liên quan đến nhiều bảng.

Ngược lại, bạn chỉ có thể insert một bản ghi vào một bảng duy nhất, nên bạn không cần đưa tên bảng khi dùng values() để chèn, ví dụ stmt = insert(my_table).values(my_col = 10).

Ở đây, tên bảng là data. Bạn có thể chạy repr(data) trong console để xem cấu trúc của bảng.

Hướng dẫn

100 XP
  • Import insert và select từ module sqlalchemy.
  • Tạo một câu lệnh insert insert_stmt cho bảng data để đặt name thành 'Anna', count thành 1, amount thành 1000.00, và valid thành True.
  • Thực thi insert_stmt với connection và lưu lại results.
  • In thuộc tính .rowcount của results để xem có bao nhiêu bản ghi đã được chèn.
  • Tạo một câu lệnh select để truy vấn data cho bản ghi có name là 'Anna'.
  • Chạy lời giải để in kết quả thực thi câu lệnh select.