PHP скрипты

MySQL

Apache

phpMyADmin

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

Главная Страница » Книги по PHP » MySQL уроки для начинающих с нуля » Имена баз данных, таблиц, индексов, столбцов и псевдонимов в MySQL

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

Обратите внимание, что правила изменились, начиная с MySQL версии 3.23.6, когда авторы представили цитирование идентификаторов (имена баз данных, таблиц и столбцов) с помощью апострофа ('). Табл. 3.2 показывает правила задания идентификаторов.

Таблица 3.2. Правила задания идентификаторов.

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

Обратите внимание, что в дополнение к вышеупомянутому в идентификаторе не может содержаться символов цитирования, ограничивающих строку, а также символов ASCII(O) или ASCII(255).

Обратите внимание, что, если идентификатор представляет собой специальное слово (являющееся командой SQL) или содержит специальные символы, вы должны всегда цитировать его с помощью символа ":

SELECT * from "select" where "select".id > 100;

Имя может начинаться с любого символа, допустимого в имени. В частности имя может начинаться с номера (в отличие от многих других систем управления базами данных!). Однако имя не может состоять только из чисел.

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

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

Таблица 3.3. Формы имен столбцов.

Ссылка на столбец Значение
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 для столбца в инструкции, если ссылка однозначна. Например, есть таблицы tl и t2, каждая содержит столбец C, и вы получаете с командой SELECT, которая использует tl и t2. В этом случае C неоднозначен, потому что он не уникален среди таблиц, используемых в инструкции, так что вы должны указать, что имеете в виду: tl.с или t2.с. Точно так же, если вы получаете данные из таблицы t в базе данных dbl и из таблицы t в базе данных db2, вы должны обратиться к столбцам в тех таблицах как к dbl.t.col_name и db2.t.col_name.

Синтаксис .tbl_name означает таблицу tbl_name в текущей базе данных.

Поделиться с друзьями