MYSQL
Структура, представляющая соединение с сервером баз данных. Элементы структуры среди прочего содержат имя текущей базы данных и информацию о клиентском подключении.
MYSQL_FIELD
Структура, которая содержит всю информацию, касающуюся отдельного поля таблицы. Из всех типов, созданных для MySQL, это единственная структура, к полям которой можно получить прямой доступ из клиентских программ. Поэтому необходимо знать строение этой структуры:
char *name
Имя поля.
char *table
Имя таблицы, содержащей это поле. Для результирующих наборов, которые не представляют реальных таблиц, это значение пустое.
char *def
Значение по умолчанию этого поля, если таковое существует. Это значение всегда будет null до вызова mysql_list_f ields, после чего в переменной будет корректное значение для полей, у которых есть значение по умолчанию.
еnum enum_field_types type
Тип поля. Он является одним из типов данных MySQL SQL.
unsigned int length
Размер поля, основанный на типе поля.
unsigned int max_length
После вызова mysql_list_fields здесь находится длина максимального значения, содержащегося в текущем результирующем наборе.
unsigned int flags
Ноль или более флагов. В настоящее время определены следующие флаги:
NOT_NULL_FLAG
Если установлен, поле не может содержать значение
NULL. PRI_KEY_FLAG
Если установлен, поле является первичным ключом.
UNIQUE_KEY_FLAG
Если установлен, поле является частью уникального ключа.
MULTIPLE_KEY_FLAG
Если установлен, поле является частью ключа.
BLOB_FLAG
Если установлен, поле имеет тип BLOB или TEXT.
UNSIGNED_FLAG
Если установлен, поле имеет числовой тип и содержит беззнаковое значение.
ZEROFILL_FLAG
Если установлен, поле было создано с флагом ZEROFILL.
BINARY_FLAG
Если установлен, поле имеет тип CHAR или VARCHAR с флагом BINARY.
ENUM_FLAG
Если установлен, поле имеет тип ENUM.
AUTO_INCREMENT_FLAG
Если установлен, поле имеет атрибут AUTO_INCREMENT.
TIMESTAMP_FLAG
Если установлен, поле имеет тип TIMESTAMP.
unsigned int decimals
При использовании с числовым полем выдает длину дробной части.
Для облегчения использования данных MYSQL_FIELD созданы следующие макросы:
IS_PRI_KEY( flags)
Возвращает true, если поле является первичным ключом.
IS_NOT_NULL(flags)
Возвращает true, если поле имеет ограничение NOT NULL.
IS_ELOE(flags)
Возвращает true, если поле имеет тип BLOB или TEXT.
IS_NUM(type)
Возвращает true, если тип поля является числовым.
MYSQL_FIELD_OFFSET
Числовой тип, указывающий на позицию «курсора» в строке (записи).
MYSQL_RES
Структура, содержащая результат команды SELECT (или SHOW). Доступ к данным из запросов следует осуществлять через элемент этой структуры MYSQL_ROW.
MYSQL_ROW
Одна запись из данных, возвращаемых запросом SELECT. Все результаты, полученные от MySQL, хранятся в этом типе (как массив символьных строк).
my_ulonglong
Числовой тип, используемый для кодов возврата MySQL. Значение может находиться в диапазоне от 0 до 1.8Е19, и —1 используется для указания на ошибку.
mSQL С API кроме стандартных типов данных языка С использует некоторые свои типы. Они определены в заголовочном файле 'msql.h', который необходимо подключать при компиляции всех программ, использующих библиотеку mSQL.
m_result
Структура, содержащая результаты оператора SELECT (или SHOW). Доступ к результатам запроса следует осуществлять через элемент этой структуры m_row.
m_row
Одна запись из данных, возвращаемых запросом SELECT. Результаты всех типов данных mSQL хранятся в этом типе (как массив символьных строк).
m_field
Структура, содержащая всю информацию, которая касается отдельного поля таблицы. Элементы структуры m_field могут быть проверены напрямую и имеют следующее строение:
char *name
Имя поля.
char *table
Имя таблицы, содержащей поле. Это значение пустое (null), если результирующий набор не относится к настоящей таблице.
int type
Тип поля. Является целым числом, соответствующим типам данных mSQL SQL, определенным в заголовочном файле msql.h.
int length
Длина поля в байтах.
int flags
Ноль или более флагов. Доступ к флагам осуществляется- через следующие макросы:
IS_PRI_KEY(flags)
Возвращает true, если поле является первичным ключом.
IS_NOT_NULL(flags)
Возвращает true, если поле определено как NOT NULL.