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е+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 в текущей базе данных.