MySQL学习——标识符语法和命名规则
- 转自:http://blog.csdn.net/notbaron/article/details/50868485
欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/50868485
所有sql基本都会使用到标识符,用以引用某个数据库或其构成元素。
不加引号的标识符可以由大小写形式的字母a-z,数字0-9,美元符号,下划线,以及范围在u+0080到u+ffff之间的unicode扩展字符构成。
不加引号的标识符不允许完全由数字字符构成,因为那样会难以与数字区分开来。
标识符可以用反引号 引起来,这对sql保留字或者包含空格或其他特殊字符很有用。
如果启用了sql的ansi_quotes模式,可以使用双引号将标识符引起来。(注:
ansi是sql的通用标准,quotes是指用什么符号来引用对象。
ansi_quotes就是标准的sql引用方式,不同数据库在一些单双引号,as别名,对象名等方面符号注明不同。
一般尽量使用ansi标准,以保证代码通用,别人也能看得懂。
)
如果使用了ansi_quotes模式,字符串文字必须使用单引号引起来。
sql
sql关键字和函数名不区分大小写。
数据库名、表名和视图名取决于操作系统所在的文件名方面。
存储程序不区分大小写
列名和索引名不区分大小写
默认情况下,表的别名区分大小写
字符串是否区分大小写,取决于是二进制还是非二进制。
要避免大小写问题,可行方法是:先选定一种大小写方案,然后一直按照该方案去创建数据库和表。
字符集
mysql支持多种字符集。
字符集和排序规则可以在多个层次进行设定。
命令如下:
character set charset
collate collation
为某个表如下:
create table tbl_name (…) character setcharset collate collation;
显示可用的字符集和排序规则如下:
show character set;
show collation;
unicode
支持多种字符集的原因就是不同的语言指定了不同的字符编码方案,从而导致了问题。
unicode 提供一种统一的字符编码系统。
包括:utf8,utf16,utf32 和 ucs2 等。