Atualizando dados em uma tabela

Introdução a Bancos de Dados em Python

Jason Myers

Co-Author of Essential SQLAlchemy and Software Engineer

Atualizando dados em uma tabela

  • Feito com a instrução update()
  • Parecida com insert(), mas inclui uma cláusula where para definir qual registro será atualizado
  • Adicione os valores a atualizar com values() como pares coluna=valor
Introdução a Bancos de Dados em Python

Atualizando uma linha

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
Introdução a Bancos de Dados em Python

Atualizando várias linhas

  • Construa uma cláusula where que selecione todos os registros que você quer atualizar
Introdução a Bancos de Dados em Python

Inserindo várias linhas

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
Introdução a Bancos de Dados em Python

Atualizações correlacionadas

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
Introdução a Bancos de Dados em Python

Atualizações correlacionadas

  • Usa uma instrução select() para encontrar o valor da coluna que será atualizada
  • Comum para atualizar registros para um valor máximo ou ajustar uma string para corresponder a uma abreviação de outra tabela
Introdução a Bancos de Dados em Python

Vamos praticar!

Introdução a Bancos de Dados em Python

Preparing Video For Download...