MulaiMulai sekarang secara gratis

Menyisipkan satu baris

Ada beberapa cara untuk melakukan insert dengan SQLAlchemy; namun, kita akan berfokus pada cara yang mengikuti pola yang sama seperti pernyataan select.

Cara ini menggunakan pernyataan insert dengan menyebutkan tabel sebagai argumen, lalu menyuplai data yang ingin Anda sisipkan ke dalam nilai melalui metode .values() sebagai argumen kata kunci. Sebagai contoh, jika my_table memiliki kolom my_col_1 dan my_col_2, maka insert(my_table).values(my_col_1=5, my_col_2="Example") akan membuat satu baris di my_table dengan nilai pada my_col_1 sama dengan 5 dan nilai pada my_col_2 sama dengan "Example".

Perhatikan perbedaan sintaksnya: ketika menambahkan pernyataan where ke pernyataan yang sudah ada, kita menyertakan nama tabel serta nama kolom, misalnya new_stmt = old_stmt.where(my_tbl.columns.my_col == 15). Ini diperlukan karena pernyataan yang ada bisa melibatkan beberapa tabel.

Di sisi lain, Anda hanya dapat melakukan insert ke satu tabel, sehingga Anda tidak perlu menyertakan nama tabel saat menggunakan values() untuk menyisipkan, contohnya stmt = insert(my_table).values(my_col = 10).

Di sini, nama tabelnya adalah data. Anda dapat menjalankan repr(data) di konsol untuk memeriksa struktur tabelnya.

Latihan ini adalah bagian dari kursus

Pengantar Basis Data di Python

Lihat Kursus

Petunjuk latihan

  • Impor insert dan select dari modul sqlalchemy.
  • Bangun pernyataan insert insert_stmt untuk tabel data guna menetapkan name menjadi 'Anna', count menjadi 1, amount menjadi 1000.00, dan valid menjadi True.
  • Eksekusi insert_stmt dengan connection dan simpan ke dalam results.
  • Cetak atribut .rowcount dari results untuk melihat berapa banyak rekaman yang disisipkan.
  • Bangun pernyataan select untuk mengkueri data untuk rekaman dengan name 'Anna'.
  • Jalankan solusi untuk mencetak hasil eksekusi pernyataan select.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Import insert and select from sqlalchemy
from sqlalchemy import ____, ____

# Build an insert statement to insert a record into the data table: insert_stmt
insert_stmt = insert(____).values(name=____, ____, ____, ____)

# Execute the insert statement via the connection: results
results = connection.execute(____)

# Print result rowcount
print(____)

# Build a select statement to validate the insert: select_stmt
select_stmt = select([data]).where(____ == ____)

# Print the result of executing the query.
print(connection.execute(select_stmt).first())
Edit dan Jalankan Kode