РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
18 of 711 menu

Метод scalar класса Connection

Метод scalar класса Connection выполняет SQL-запрос и возвращает скалярное значение - первый столбец первой строки результата. Если запрос не вернул ни одной строки, метод возвращает None. Первым параметром передается SQL-выражение или текст запроса, дополнительно можно передать словарь параметров.

Синтаксис

Connection.scalar(statement, parameters=None, execution_options=None)

Пример

Давайте выполним простой запрос и получим скалярное значение:

from sqlalchemy import create_engine, text engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: res = conn.scalar(text('SELECT 1')) print(res)

Результат выполнения кода:

1

Пример

Давайте создадим таблицу, вставим строку и получим значение одного из полей:

from sqlalchemy import create_engine, text engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: conn.execute(text('CREATE TABLE articles (id INTEGER, title TEXT)')) conn.execute( text('INSERT INTO articles (id, title) VALUES (:id, :title)'), {'id': 1, 'title': 'article'} ) res = conn.scalar(text('SELECT title FROM articles WHERE id = :id'), {'id': 1}) print(res)

Результат выполнения кода:

"article"

Пример

Давайте используем агрегатную функцию и получим количество строк в таблице:

from sqlalchemy import create_engine, text engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: conn.execute(text('CREATE TABLE articles (id INTEGER, title TEXT)')) conn.execute(text("INSERT INTO articles (id, title) VALUES (1, 'article')")) conn.execute(text("INSERT INTO articles (id, title) VALUES (2, 'user')")) res = conn.scalar(text('SELECT COUNT(*) FROM articles')) print(res)

Результат выполнения кода:

2

Смотрите также

  • класс Connection,
    который представляет соединение с базой данных
  • метод execute,
    который выполняет SQL-запрос и возвращает результат
  • метод scalars,
    который возвращает первый столбец всех строк результата
  • метод exec_driver_sql,
    который выполняет запрос напрямую через драйвер СУБД
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить