Buy this Reference Manual in softcover from Barnes & Noble!
Типы столбцов
MySQLCREATE TABLE):
ENUM - тип для одного набора строк.SET - тип для нескольких наборов строк.BIGINT - тип для 64-битовых целых чисел.UNSIGNED - опция для целочисленных столбцов и столбцов чисел с плавающей запятой.ZEROFILL - опция для целочисленных столбцов.AUTO_INCREMENT - опция для целочисленных столбцов, являющихся первичными ключами. See section 8.4.3.126 mysql_insert_id().DEFAULT - значение для всех столбцов.mSQL2| Тип в mSQL | Соответствующий тип в MySQL |
CHAR(len) |
CHAR(len) |
TEXT(len) |
TEXT(len). len - максимальная длина. Работает LIKE. |
INT |
INT. Со множеством опций! |
REAL |
REAL. Или FLOAT. Имеются как 4-битовые, так и 8-битовые варианты. |
UINT |
INT UNSIGNED |
DATE |
DATE. Использует формат ANSI SQL, а не собственный формат mSQL. |
TIME |
TIME |
MONEY |
DECIMAL(12,2). Значение с фиксированной точкой и двумя знаками после нее. |
Создание индексов
MySQLCREATE TABLE.mSQLCREATE INDEX.Вставка уникального идентификатора в таблицу
MySQLAUTO_INCREMENT. See section 8.4.3.126 mysql_insert_id().mSQLSEQUENCE и выбрать столбец _seq.Получение уникального идентификатора для строки
MySQLPRIMARY или UNIQUE состоит только из одного целочисленного столбца, к нему можно обращаться и как к _rowid.mSQL_rowid. Нельзя забывать о том, что _rowid может, в зависимости от множества факторов, со временем измениться.Получение времени последнего изменения столбца
MySQLTIMESTAMP. Этому столбцу автоматически присваиваются текущая дата и время при вызове операторов INSERT или UPDATE, если ему не присвоить определенного значения или присвоить значение NULL.mSQL_timestamp.Сравнение значений NULL
MySQLNULL всегда возвращает результат NULL.mSQLNULL = NULL имеет значение TRUE. Поэтому при переводе старого кода из mSQL в MySQL =NULL необходимо заменить на IS NULL, а <>NULL - на IS NOT NULL.Сравнение строк
MySQLBINARY, тогда сравнение будет проводиться в соответствии с ASCII-порядком, установленным на сервере MySQL.mSQLПоиск без учета регистра символов
MySQLLIKE может быть как чувствительным, так и нечувствительным к регистру оператором, в зависимости от столбцов, к которым он применяется. По возможности MySQL использует индексы, если аргумент LIKE не начинается с шаблонного символа.mSQLCLIKE.Обработка концевых пробелов
MySQLCHAR и VARCHAR удаляются. Если такое поведение нежелательно, используйте столбцы TEXT.mSQLОператоры WHERE
MySQLAND имеет приоритет перед OR). Заставить MySQL вести себя так, как mSQL, можно при помощи скобок (как можно видеть в соответствующем примере).mSQLmysql> SELECT * FROM table WHERE a=1 AND b=2 OR a=3 AND b=4;Чтобы MySQL вычислил результат этого запроса так же, как это сделал бы mSQL, нужно расставить скобки:
mysql> SELECT * FROM table WHERE (a=1 AND (b=2 OR (a=3 AND (b=4))));
Ограничения доступа
MySQLmSQLAdd your own comment.