转自: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 等。