SQL中引号的使用
简介
在SQL标准中是不存在双引号的,往往是数据库对SQL的扩展,不同数据库对双引号的使用规则不同。比如:MySQL中单双引号用来环绕文本值,而Oracle中双引号用来环绕表和列名以区分大小写。
各DB引号使用规则
Oracle
文本值:单引号
数值:不使用引号或单引号
表和列名:不使用引号(默认大写),使用双引号(区分大小写)
PostgreSQL
文本值:单引号
数值:不使用引号或单引号
表和列名:不使用引号(默认小写),使用双引号(区分大小写)
MySQL
文本值:单引号或双引号
数值:不使用引号或单引号或双引号
表和列名:不使用引号或使用反引号(不区分大小写)
具体是否区分大小写可以在 my.ini
中配置,在 MySQL 中,操作系统的敏感性决定数据库和表命名的大小写敏感。这就意味着数据库和表名在 Windows 中是大小写不敏感的,而在大多数类型的 Unix 系统中是大小写敏感的。
奇怪的是列名与列的别名在所有的情况下均是忽略大小写的,而表的别名又是区分大小写的。要避免这个问题,最好在定义数据库命名规则的时候就全部采用小写字母加下划线的组合,而不使用任何的大写字母。
MySQL 5.7.32-1-log 版本中,文本值同样不区分大小写。