Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




Справочное руководство по MySQL

6.1.2 Имена баз данных, таблиц, столбцов, индексы псевдонимы

    6.1.2 Имена баз данных, таблиц, столбцов, индексы псевдонимы

    Для всех имен баз данных, таблиц, столбцов, индексов и псевдонимов в MySQL приняты одни и те же правила.

    Следует отметить, что эти правила были изменены, начиная с версии MySQL 3.23.6, когда было разрешено брать в одиночные скобки ``' идентификаторы (имена баз данных, таблиц и столбцов). Двойные скобки `"' тоже допустимы - при работе в режиме ANSI SQL (see section 1.9.2 Запуск MySQL в режиме ANSI).

    Идентификатор Максимальная длина строки Допускаемые символы
    База данных 64 Любой символ, допустимый в имени каталога, за исключением `/' или `.'
    Таблица 64 Любой символ, допустимый в имени файла, за исключением `/' или `.'
    Столбец 64 Все символы
    Псевдоним 255 Все символы

    Необходимо также учитывать, что не следует использовать символы ASCII(0), ASCII(255) или кавычки в самом идентификаторе.

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

    mysql> SELECT * FROM `select` WHERE `select`.id > 100;
    

    В предыдущих версиях MySQL для имен существовали следующие правила:

    • Имя может состоять из буквенно-цифровых символов установленного в данное время алфавита и символов `_' and `$'. Тип кодировки по умолчанию - ISO-8859-1 Latin1, он может быть изменен указанием иного типа в аргументе параметра --default-character-set mysqld (see section 4.6.1 Набор символов, применяющийся для записи данных и сортировки).
    • Имя может начинаться с любого допустимого символа, в частности, с цифры (в этом состоит отличие от правил, принятых во многих других базах данных). Однако имя не может состоять только из цифр.
    • Не допускается использование в именах символа `.', так как он применяется для расширения формата имени (посредством чего можно ссылаться на столбцы - см. в этом же разделе ниже).

    Не рекомендуется использовать имена, подобные 1e, так как выражение вида 1e+1 является неоднозначным. Оно может интерпретироваться и как выражение 1e + 1, и как число 1e+1.

    В MySQL разрешается делать ссылки на столбец, используя любую из следующих форм:

    Ссылка на столбец Значение
    col_name Столбец col_name из любой используемой в запросе таблицы содержит столбец с данным именем.
    tbl_name.col_name Столбец col_name из таблицы tbl_name текущей базы данных.
    db_name.tbl_name.col_name Столбец col_name из таблицы tbl_name базы данных db_name. Эта форма доступна в версии MySQL 3.22 или более поздних.
    `column_name` Имя столбца является ключевым словом или содержит специальные символы.

    Нет необходимости указывать префикс tbl_name или db_name.tbl_name в ссылке на столбец в каком-либо утверждении, если эта ссылка не будет неоднозначной. Например, предположим, что каждая из таблиц t1 и t2 содержит столбец c, по которому производится выборка командой SELECT, использующей обе таблицы - и t1, и t2. В этом случае имя столбца c является неоднозначным, так как оно не уникально для таблиц, указанных в команде, поэтому необходимо уточнить, какая именно таблица имеется в виду, конкретизировав - t1.c или t2.c. Аналогично, при выборке данных из таблицы t в базе данных db1 и из таблицы t в базе данных db2 необходимо ссылаться на столбцы в этих таблицах как на db1.t.col_name и db2.t.col_name.

    Выражение .tbl_name означает таблицу tbl_name в текущей базе данных. Данный синтаксис принят для совместимости с ODBC, так как некоторые программы ODBC ставят в начале имен таблиц в качестве префикса символ `.'.


Поиск по документации:



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |