Uppdatera data i en tabell

Introduktion till databaser i Python

Jason Myers

Co-Author of Essential SQLAlchemy and Software Engineer

Uppdatera data i en tabell

  • Görs med update()-satsen
  • Liknar insert()-satsen men inkluderar en where-klausul för att ange vilken rad som ska uppdateras
  • Alla värden som ska uppdateras anges i values()-klausulen som kolumn=värde-par
Introduktion till databaser i Python

Uppdatera en rad

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
Introduktion till databaser i Python

Uppdatera flera rader

  • Bygg en where-klausul som väljer ut alla rader du vill uppdatera
Introduktion till databaser i Python

Infoga flera rader

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
Introduktion till databaser i Python

Korrelerade uppdateringar

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
Introduktion till databaser i Python

Korrelerade uppdateringar

  • Använder en select()-sats för att hitta värdet för kolumnen som ska uppdateras
  • Används ofta för att uppdatera poster till ett maxvärde eller ändra en sträng så att den matchar en förkortning från en annan tabell
Introduktion till databaser i Python

Nu kör vi en övning!

Introduktion till databaser i Python

Preparing Video For Download...