MySQL- Руководство разработчика

Типы конструкторов и объектов


Многие базы данных должны иметь ввод в специфическом формате для связывания с входными параметрами операции. Например, если ввод предназначен для столбца DATE, то это будет связано с базой данных в специфическом формате строки. Подобные проблемы существуют для столбцов "Row ID" или больших двоичных элементов (например, столбцов blob или RAW). Это представляет проблемы для Python, начиная с параметров для метода без контроля типов executeXXX(). Когда модуль базы данных видит строковый объект, он не знает сходу, как с ним быть.

Чтобы преодолеть эту проблему, модуль должен обеспечить конструкторы, определенные ниже, чтобы создать объекты, которые могут хранить специальные значения. При передаче к методам курсора, модуль может затем обнаружить соответствующий тип входного параметра и обработать его соответственно.

Атрибут description объекта курсора возвращает информацию относительно каждого из столбцов результата запроса. Здесь type_code должен быть равен одному из Type Objects, определенных ниже. Эти самые Type Objects могут быть равны больше, чем одному коду типа (например, DATETIME может быть равен кодам типа для столбцов даты, времени и метки времени).

Модуль экспортирует следующие конструкторы:

Date(year,month,day) Эта функция создает объект, хранящий значение даты. Time(hour,minute,second) Эта функция создает объект, хранящий значение времени. Timestamp(year,month,day,hour,minute,second) Эта функция создает объект, хранящий значение метки времени. DateFromTicks(ticks) Эта функция создает объект, хранящий значение даты с данного значения импульсов сигнала времени (число секунд, начиная с epoch, согласно стандартному модулю Python time). TimeFromTicks(ticks) Эта функция создает объект, хранящий значение времени с данного значения импульсов сигнала времени (число секунд, начиная с epoch, согласно стандартному модулю Python time). TimestampFromTicks(ticks) Эта функция создает объект, хранящий значение метки времени с данного значения импульсов сигнала времени (число секунд, начиная с epoch, согласно стандартному модулю Python time). Binary(string) Эта функция создает объект, способный хранить строковое двоичное значение типа long. STRING Этот объект используется, чтобы описать столбцы в базе данных, которые являются основанными на строках (например, типа CHAR). BINARY Этот объект используется, чтобы описать двоичные (long) столбцы в базе данных (например, LONG, RAW, BLOB). NUMBER Этот объект используется, чтобы описать числовые столбцы в базе данных. DATETIME Этот объект используется, чтобы описать столбцы даты/времени в базе данных. ROWID Этот объект используется, чтобы описать "Row ID" столбец в базе данных.

SQL-значение NULL представляется на вводе и выводе как Python None.

Обратите внимание: использование Unix-импульсов сигнала времени для связи с помощью интерфейса базы данных может вызвать проблемы из-за ограниченного диапазона даты, который они покрывают.



Содержание раздела