mysql中数据库名字分大小写吗

mysql中数据库名字分大小写吗,第1张

MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:

1、数据库名与表名是严格区分大小写的;

2、表的别名是严格区分大小写的;

3、列名与列的别名在所有的情况下均是忽略大小写的;

4、变量名也是严格区分大小写的;

MySQL在Windows下都不区分大小写。

所以在不同 *** 作系统中为了能使程序和数据库都能正常运行,最好的办法是在设计的时候都转为小写,但是如果在设计的时候已经规范化大小写了,那么在Windows环境下只要对数据库的配置做下改动就行了,具体 *** 作如下:

在MySQL的配置文件中my.ini [mysqld]

中增加一行

lower_case_table_names = 1

参数解释:

0:区分大小写

1:不区分大小写在 MySQL

中,数据库和表对就于那些目录下的目录和文件。因而, *** 作系统的敏感性决定数据库和表命名的大小写敏感。这就意味着数据库和表名在

Windows 中是大小写不敏感的,而在大多数类型的 Unix

系统中是大小写敏感的。

奇怪的是列名与列的别名在所有的情况下均是忽略大小写的,而表的别名又是区分大小写的。

要避免这个问题,你最好在定义数据库命名规则的时候就全部采用小写字母加下划线的组合,而不使用任何的大写字母。

或者也可以强制以 -O lower_case_table_names=1 参数启动

mysqld(如果使用 --defaults-file=...\my.cnf

参数来读取指定的配置文件启动 mysqld

的话,你需要在配置文件的 [mysqld] 区段下增加一行

lower_case_table_names=1)。这样MySQL

将在创建与查找时将所有的表名自动转换为小写字符(这个选项缺省地在

Windows 中为 1 ,在 Unix 中为 0。从 MySQL 4.0.2

开始,这个选项同样适用于数据库名)。

有好几种,如果是java的话

表名可以跟对应的对象名一样,比如UserInfo,然后列名可以写跟类的属性命名形式一样,比如userName, lastLoginTime, insertTime

这样命名可能一些自动工具会方便一些(比如hibernate, ibatis都有生成代码的工具)

还见过一种是表名和列都是全大写,单词之间用"_"分割,表名还要加对应的前缀,例如"T_"前缀表示是表, "V_"前缀表示视图等

网上有一些公司内部自己定的数据库规范文档,可以参考下

(对不起!您的提问(回答)中包含不适合发表的内容,请修改后再提交)<--居然提示这个,我擦


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6652912.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存