На главную Напишите нам! Напишите нам!
14-11-2012
колонтитул в word 2007, 0000002111

Поля и их типы в MySQL

База данных с точки зрения MySQL (и некоторых других СУБД) - это обыкновенный каталог, содержащий двоичные файлы определенного формата - таблицы. Таблицы состоят из записей, а записи, в свою очередь, состоят из полей. Поле имеет два атрибута - имя и тип.

Тип поля может быть:

  • Целым;
  • Вещественным;
  • Строковым;
  • Бинарным;
  • Дата и время;
  • Перечисления и множества.

Возможные типы данных, диапазоны и описания представлены в последующих таблицах:

Целочисленные типы данных

Тип Диапазон
TINYINT
-128...+127
SMALLINT
-32768...+32767
MEDIUMINT
-8 388 608...+8 388 607
INT
-2 147 483 648...+2 147 483 647
BIGINT
-9 223 372 036 854 775 808...+9 223 372 036 854 775 807

Вещественные типы записываются в виде:

ТИП (ДЛИНА, ЗНАКИ) [UNSIGNED]

Длина - это колличество знакомест, в которых будет размещено все число при его передаче, а ЗНАКИ - это колличество знаков после десятичной точки, которые будут учитываться. Если указан модификатор UNSIGNED, знак числа учитываться не будет.

Вещественные числа

Тип Описание
FLOAT
Небольшая точность
DOUBLE
Двойная точность
REAL
То же, что и DOUBLE
DECIMAL
Дробное число, хранящееся в виде строки
NUMERIC
То же, что и DECIMAL

Любая строка - это массив символов. При поиске с помощью оператора SELECT (мы рассмотрим его далее) не учитывается регистр символов: строки "HELLO" и "Hello" считаются одинаковыми.

Можно настроить MySQL на автоматическое перекодирование символов - в этом случае в базе данных строки будут храниться в одной кодировке, а выводиться - в другой.

В большинстве случаев применяется тип VARCHAR или просто CHAR, позволяющий хранить строки, содержащие до 255 символов. В скобках после типа указывается длина строки:

VARCHAR(48);
CHAR(73);

Если 255 символов для вашей задачи недостаточно, можно использовать другие типы, например, TEXT.

Строки

Тип Описание
TINYTEXT
Максимальная длина 255 символов
TEXT
Максимальная длина 65535 символов (64 Кб)
MEDIUMTEXT
Максимальная длина 16 777 215 символов
LONGTEXT
Максимальная длина 4 294 967 295 символов

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

VARCHAR(30) BINARY;

Бинарные типы данных

Тип Описание
TINYBLOB
Максимум 255 символов
BLOB
Максимум 65535 символов
MEDIUMBLOB
Максимум 16 777 215 символов
LONGBLOB
Максимум 4 294 967 295

Примечание: Бинарные данные не перекодируются "на лету", если установлена перекодировка символов.

Дата и время

Тип Описание
DATE
Дата в формате ГГГ-ММ-ДД
TIME
Время в формате ЧЧ:ММ:СС
TIMESTAMP
Дата и время в формате timestamp, выводится в виде ГГГГММДДЧЧММСС
DATETIME
Дата и время в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС

Другие типы данных MySQL рассматривать бессмысленно, поскольку применение их в PHP нецелесообразно.

колонтитулы в word 2007, 000000211111
Класс!

Ошибки

CR_CONN_HOST_ERROR
Не удалось связаться с сервером.
CR_CONNECTION_ERROR
Не удалось связаться с локальным сервером.
CR_IPSOCK_ERROR
Не удалось создать IP-сокет.
CR_OUT_OF_MEMORY
Не хватило памяти.
CR_SOCKET_CREATE_ERROR
Не удалось создать Unix-сокет.
CR_UNKNOWN_HOST
Не удалось найти IP-адрес для hostname.
CR_VERSION_ERROR
Несоответствие протоколов следовало из попытки соединиться с сервером с помощью клиентской библиотеки, которая использует иную версию протокола. Это может случиться, если Вы используете очень старую библиотеку, чтобы соединиться с новым сервером, который не был запущен с параметром --old-protocol.
CR_NAMEDPIPEOPEN_ERROR
Не удалось создать именованный канал в Windows.
CR_NAMEDPIPEWAIT_ERROR
Не удалось дождаться именованного канала в Windows.
CR_NAMEDPIPESETSTATE_ERROR
Не удалось получить дескриптор для именованного канала в Windows.
CR_SERVER_LOST
Если connect_timeout> 0 и требуется более, чем connect_timeout секунд, чтобы соединиться с сервером, или если сервер свалился при выполнении init-command, вернется это.
 
Яндекс.Метрика
Копирование возможно при указании прямой индексируемой гиперссылки
0000002