BaşlayınÜcretsiz başlayın

Tek bir satır ekleme

SQLAlchemy ile insert işlemi yapmanın birkaç yolu vardır; ancak biz select ifadesiyle aynı kalıbı izleyen yönteme odaklanacağız.

Bu yöntemde, tabloyu argüman olarak belirttiğin bir insert ifadesi kullanırsın ve eklemek istediğin verileri .values() yöntemiyle anahtar kelime argümanları olarak sağlarsın. Örneğin, my_table içinde my_col_1 ve my_col_2 sütunları varsa, insert(my_table).values(my_col_1=5, my_col_2="Example") ifadesi my_table içinde my_col_1 değeri 5 ve my_col_2 değeri "Example" olan bir satır oluşturur.

Sözdizimindeki farka dikkat et: Var olan bir ifadeye where ifadesi eklerken, sütun adının yanı sıra tablonun adını da dahil ederiz; örneğin new_stmt = old_stmt.where(my_tbl.columns.my_col == 15). Bunun nedeni, mevcut ifadenin birden fazla tabloyu içerebilecek olmasıdır.

Öte yandan, bir kaydı yalnızca tek bir tabloya insert edebilirsin; bu yüzden values() kullanarak ekleme yaparken tablo adını belirtmene gerek yoktur; ör. stmt = insert(my_table).values(my_col = 10).

Burada tablonun adı data. Tablonun yapısını incelemek için konsolda repr(data) çalıştırabilirsin.

Bu egzersiz, kursun bir parçasıdır

Python ile Veritabanlarına Giriş

Kursa Göz Atın

Egzersiz talimatları

  • sqlalchemy modülünden insert ve select içe aktar.
  • data tablosu için name alanını 'Anna', count alanını 1, amount alanını 1000.00 ve valid alanını True olarak ayarlayan bir insert ifadesi insert_stmt oluştur.
  • insert_stmt ifadesini connection ile çalıştır ve sonucu results içinde sakla.
  • Kaç kaydın eklendiğini görmek için results'ın .rowcount özniteliğini yazdır.
  • name değeri 'Anna' olan kaydı sorgulamak için data üzerinde bir select ifadesi oluştur.
  • Select ifadesini çalıştırmanın sonuçlarını yazdırmak için çözümü çalıştır.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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())
Kodu Düzenle ve Çalıştır