MySQL数据库、表、索引、列和别名的定名

作者:天极软件 起原:天极软件

数据库、表、索引、列和别名的名字都从命MySQL异样的规则:

留意,从MySQL3.23.6开始规则变化了,此时我们引入了用'引用的标识符(数据库、表和列定名)(假如你以ANSI形式运转,"也将用于引用标识符)。
标识符 最年夜长度 应允的字符
数据库 64 在一个目次名应允的任何字符,除了/.
表 64 在文件名中应允的任何字符,除了/.
列 64 统统字符
别名 255 统统字符

留意,除了以上,你在一个标识符中不能有ASCII(0)或ASCII(255)。

留意,假如标识符是一个限制词或包括迥殊字符,当你运用它时,你必须总是用`引用它:

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

在 MySQL的先前版本,定名规则如下:

  • 一个名字可以包括来自今后字符集的数字字母的字符和“_”“$”。缺省字符集是ISO-8859-1 Latin1;这可以经过从头编译MySQL来变化。见9.1.1 用于数据和排序的字符集。
  • 一个名字可以以在一个名字中正当的任何字符开始。迥殊地,一个名字可以以一个数字开始(这分比如于很多其他的数据库琐细!)。然则,一个名字不能仅仅由数字构成。
  • 你不能在名字中运用“.”,由于它被用来扩台甫堂,你能用它引用列(见上面)。

提议你不运用象1e多么的名字,由于一个表达式如1e 1是二义性的。它可以解释为表达式1e 1或数字1e 1

MySQL中,你能运用下列表格的任何一种引用列:
列引用 含义
col_name 来自于随意率性表的列col_name,用于包括该表的一个列的盘诘中
tbl_name.col_name 来自今后的数据库的表tbl_name的列col_name
db_name.tbl_name.col_name 行列col_name从表格tbl_name数据库db_name。这小我式款式在MySQL3.22或今后版本可用。
`column_name` 是一个关键词或包括迥殊字符的列。

在一条语句的列引用中,你不必指定一个tbl_namedb_name.tbl_name前缀,除非引用会有二义性。比如,假定表t1t2,每个均包括列c,而且你用一个运用t1t2SELECT语句检索c。在这种情形下,c有二义性,由于它在运用表的语句中不是独一的,是以你必须经过写出t1.ct2.c来指明你想要哪个表。异样,假如你从数据库db1中一个表t和在数据库db2的一个表t检索,你必须用db1.t.col_namedb2.t.col_name引用这些数据表的列。

句法.tbl_name意味着在今后的数据库中的表tbl_name,该句法为了ODBC的兼容性被担当,由于一些ODBC顺序用一个“.”字符作为数据库表名的前缀。





版权声明: 原创作品,应允转载,转载时请务必以超链接体式款式标明文章 原始因由 、作者信息和本声明。不然将清查功令责任。

原文地址:https://www.cnblogs.com/zgqjymx/p/1975249.html