mysql 表名大小写问题

表名中有大写字母是不是不太好?

如果不太好,不太好的原因有哪些呢?

常用的做法是不是,表名全部小写,然后单词之间用下划线隔开呢?

阅读 9k
6 个回答

表名中有大写字母是不是不太好?
——是的。

如果不太好,不太好的原因有哪些呢?
——在默认情况下,如果是Linux系统,sql语句里的table名称必须大小写相同。否则查不出。具体参考资料如下:
http://dev.mysql.com/doc/refman/5.1/en/identifier-case-sensitivity.html http://blog.csdn.net/xinew/article/details/5856105

常用的做法是不是,表名全部小写,然后单词之间用下划线隔开呢?
——一般是这样的。此外,外键、索引的命名最好也都小写,风格一致。

我建议小写,原因有:

1. 小写比较好认,单词之间用下划线
2. 一般SQL关键字是大写的,这是共识,如果表名也大写,理解起来费劲

表名全部小写,然后单词之间用下划线隔开。列名也是这样。

不妨参见开源项目的数据库。比如wordpress

如果保持全部小写,除了湘君说的和关键字容易混淆以外,也不方便程序员使用,都大小写敏感的东西…

MySQL默认只支持小写,当然大写会被转化识别为小写。
如果你使用了大写,那只会在linux下带来麻烦。

回应 湘君 :
SQL关键字(select update这些)并不是强制大写,同上,所有的大写字母都会被转化为小写执行。当然,这只是默认情况,可以自己设置,但是应该没人设置过。

尽量不要出现大写字母。 在Linux环境下,即使你的输入中包含大写,也会被Server端转成小写。这样存在一个风险就是如果你的程序里对表名做判断,很可能因为大小写问题导致判断失败。

因为都是小写,当然最好用分隔符隔开,空格是绝对不推荐的,标准的还是用下划线。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题