Aktualizowanie danych w tabeli

Wprowadzenie do baz danych w Pythonie

Jason Myers

Co-Author of Essential SQLAlchemy and Software Engineer

Aktualizowanie danych w tabeli

  • Wykonywana za pomocą instrukcji update()
  • Podobna do insert(), ale zawiera klauzulę where określającą aktualizowany rekord
  • Wartości do aktualizacji podajemy w klauzuli values() jako pary kolumna=wartość
Wprowadzenie do baz danych w Pythonie

Aktualizowanie jednego wiersza

from sqlalchemy import update

stmt = update(employees) stmt = stmt.where(employees.columns.id == 3) stmt = stmt.values(active=True)
result_proxy = connection.execute(stmt) print(result_proxy.rowcount)
1
Wprowadzenie do baz danych w Pythonie

Aktualizowanie wielu wierszy

  • Należy zbudować klauzulę where wybierającą wszystkie rekordy do aktualizacji
Wprowadzenie do baz danych w Pythonie

Wstawianie wielu wierszy

stmt = update(employees)
stmt = stmt.where(employees.columns.active == True)

stmt = stmt.values(active=False, salary=0.00)
result_proxy = connection.execute(stmt) print(result_proxy.rowcount)
3
Wprowadzenie do baz danych w Pythonie

Aktualizacje skorelowane

new_salary = select([employees.columns.salary])
new_salary = new_salary.order_by(
    desc(employees.columns.salary))
new_salary = new_salary.limit(1)

stmt = update(employees)
stmt = stmt.values(salary=new_salary)
result_proxy = connection.execute(stmt)
print(result_proxy.rowcount)
3
Wprowadzenie do baz danych w Pythonie

Aktualizacje skorelowane

  • Używa instrukcji select() do znalezienia wartości aktualizowanej kolumny
  • Często stosowana do aktualizacji rekordów do wartości maksymalnej lub zastąpienia ciągu skrótem z innej tabeli
Wprowadzenie do baz danych w Pythonie

Czas na ćwiczenia!

Wprowadzenie do baz danych w Pythonie

Preparing Video For Download...