ÎncepețiÎncepe gratuit

Inserarea unui singur rând

Există mai multe moduri de a efectua o inserare cu SQLAlchemy; ne vom concentra însă pe cel care urmează același tipar ca instrucțiunea select.

Acesta folosește o instrucțiune insert în care specifici tabelul ca argument și furnizezi datele pe care dorești să le inserezi prin metoda .values(), sub formă de argumente cu cuvinte-cheie. De exemplu, dacă my_table conține coloanele my_col_1 și my_col_2, atunci insert(my_table).values(my_col_1=5, my_col_2="Example") va crea un rând în my_table cu valoarea 5 în my_col_1 și valoarea "Example" în my_col_2.

Observă diferența de sintaxă: când adaugi o clauză where la o instrucțiune existentă, incluzi numele tabelului împreună cu numele coloanei, de exemplu new_stmt = old_stmt.where(my_tbl.columns.my_col == 15). Acest lucru este necesar deoarece instrucțiunea existentă poate implica mai multe tabele.

Pe de altă parte, poți insera o înregistrare doar într-un singur tabel, așadar nu este nevoie să incluzi numele tabelului când folosești values() pentru inserare, de ex. stmt = insert(my_table).values(my_col = 10).

În acest exercițiu, numele tabelului este data. Poți rula repr(data) în consolă pentru a examina structura tabelului.

Acest exercițiu face parte din cursul

Introducere în baze de date în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Importă insert și select din modulul sqlalchemy.
  • Construiește o instrucțiune de inserare insert_stmt pentru tabelul data, care să seteze name la 'Anna', count la 1, amount la 1000.00 și valid la True.
  • Execută insert_stmt folosind connection și stochează results.
  • Afișează atributul .rowcount al variabilei results pentru a vedea câte înregistrări au fost inserate.
  • Construiește o instrucțiune de selecție pentru a interoga tabelul data și a găsi înregistrarea cu name egal cu 'Anna'.
  • Rulează soluția pentru a afișa rezultatele execuției instrucțiunii de selecție.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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())
Editează și rulează codul