Обновление данных в таблице

Введение в базы данных на Python

Jason Myers

Co-Author of Essential SQLAlchemy and Software Engineer

Обновление данных в таблице

  • Используется оператор update()
  • Похож на insert(), но включает предложение where для выбора обновляемой записи
  • Новые значения задаются в values() в виде пар column=value
Введение в базы данных на Python

Обновление одной строки

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
Введение в базы данных на Python

Обновление нескольких строк

  • Составьте предложение where, которое выберет все записи для обновления
Введение в базы данных на Python

Вставка нескольких строк

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
Введение в базы данных на Python

Коррелированные обновления

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
Введение в базы данных на Python

Коррелированные обновления

  • Использует select() для получения нового значения обновляемого столбца
  • Часто применяется для установки максимального значения или замены строки аббревиатурой из другой таблицы
Введение в базы данных на Python

Давайте потренируемся!

Введение в базы данных на Python

Preparing Video For Download...