В данном модуле содержатся классы и методы для выполнения локальных sql запросов
Примечание
При вызове версий функций, не имеющих среду выполнения запросов
SqlRuntime
в качестве одного из своих параметров, будет произведена попытка ее получения из инициализированного ядра приложенияCore
axioma.core.sql.
selectAsTable
(query_text, context, runtime)¶Выполнить запрос к таблицам и получить результат в виде таблицы
Параметры:
- query_text (
str
) – текст запроса- context (
TableContext
) – контекст таблиц- runtime (
SqlRuntime
) – среда выполнения запросовРезультат: таблица, представляющая результат запроса
Тип результата: Исключение: Runtime –
RuntimeException
- Ошибка времени выполнения
axioma.core.sql.
selectAsTable
(query_text, context)Выполнить запрос к таблицам и получить результат в виде таблицы
Параметры:
- query_text (
str
) – текст запроса- context (
TableContext
) – контекст таблицРезультат: таблица, представляющая результат запроса
Тип результата: Исключение: Runtime –
RuntimeException
- Ошибка времени выполненияПример использования¶# Запрос всех стран с названием 'Hungary' from axioma.core.sql import * # ... # table - Таблица 'world' # ... # создадим контекст context = SimpleTableContext(table) # SELECT AS TABLE query_text = "SELECT * FROM world WHERE country=\"Hungary\"" select_table = selectAsTable(query_text, context) print("Имя таблицы выборки: %s" % select_table.name()) print("Количество записей: %d" % len(select_table.allFeatures())) print("Количество атрибутов: %d" % len(select_table.attributeNames())) # Вывод: # >>> Имя таблицы выборки: Query # >>> Количество записей: 1 # >>> Количество атрибутов: 32
axioma.core.sql.
select
(query_text, context, runtime)¶Запрос типа “Выборка” (SELECT)
Параметры:
- query_text (
str
) – текст запроса- context (
TableContext
) – контекст таблиц- runtime (
SqlRuntime
) – среда выполнения запросовРезультат: результат выполнения запроса
Тип результата: Исключение: Runtime –
RuntimeException
- Ошибка времени выполнения
axioma.core.sql.
select
(query_text, context)Запрос типа “Выборка” (SELECT)
Параметры:
- query_text (
str
) – текст запроса- context (
TableContext
) – контекст таблицРезультат: результат выполнения запроса
Тип результата: Исключение: Runtime –
RuntimeException
- Ошибка времени выполненияПример использования¶# Страны с населением более 100 миллионов from axioma.core.sql import * # ... # table - Таблица 'world' # ... # создадим контекст context = SimpleTableContext(table) # SELECT query_text = "SELECT Страна FROM world WHERE Население>100000000" select_table = selectAsTable(query_text, context) result = select(query_text, context) print([feature.getAttribute("Страна") for feature in result.features]) # Вывод: # >>> ['Бангладеш', 'Бразилия', 'Китай', 'Индия', 'Индонезия', # 'Япония', 'Российская Федерация', 'Соединенные Штаты Америки']
axioma.core.sql.
update
(query_text, context, runtime)¶Запрос типа “Изменение” (UPDATE)
Параметры:
- query_text (
str
) – текст запроса- context (
TableContext
) – контекст таблиц- runtime (
SqlRuntime
) – среда выполнения запросовРезультат: количество измененных записей
Тип результата: Исключение: Runtime –
RuntimeException
- Ошибка времени выполнения
axioma.core.sql.
update
(query_text, context)Запрос типа “Изменение” (UPDATE)
Параметры:
- query_text (
str
) – текст запроса- context (
TableContext
) – контекст таблиц- runtime (
SqlRuntime
) – среда выполнения запросовРезультат: количество измененных записей
Тип результата: Исключение: Runtime –
RuntimeException
- Ошибка времени выполненияПример использования¶# Демонстрация исключения 'Неизвестная колонка' from axioma.core.sql import * from axioma.common import RuntimeException # ... # context - Контекст таблиц, содержащий таблицу 'world' # ... try: query_text = 'UPDATE world SET {0}=\"{2}\" WHERE {0}=\"{1}\"'.format("a", "b", "c") res = update(query_text, context) except RuntimeException as ex: print("Ошибка: %s" % ex) # Вывод: # >>> Ошибка: Столбец 'a' не найден
axioma.core.sql.
remove
(query_text, context, runtime)¶Запрос типа “Удаление” (DELETE)
Параметры:
- query_text (
str
) – текст запроса- context (
TableContext
) – контекст таблиц- runtime (
SqlRuntime
) – среда выполнения запросовРезультат: количество удаленных записей
Тип результата: Исключение: Runtime –
RuntimeException
- Ошибка времени выполнения
axioma.core.sql.
remove
(query_text, context)Запрос типа “Удаление” (DELETE)
Параметры:
- query_text (
str
) – текст запроса- context (
TableContext
) – контекст таблиц- runtime (
SqlRuntime
) – среда выполнения запросовРезультат: количество удаленных записей
Тип результата: Исключение: Runtime –
RuntimeException
- Ошибка времени выполнения