【mysql】为什么不用驼峰命名创建表名和字段?

例如:
user : userId nickName ..
userInfo : userAvatar

补充问题:
现在编程已经不是很多年前那样,你一套系统也不用跟人家交互。
以做接口为例,驼峰命名据说可以在IOS解析接口的时候很方便使用!

回答

随便啊,你怎么喜欢怎么命名

mysql" rel="nofollow noreferrer">http://stackoverflow.com/questions/7899200/is-there-a-naming-convention-for-mysql

因为考虑到数据库移植问题,不同的数据库大小写敏感不一致,如果以后移植容易出现问题

其实,这是一种规范,而不是一种规则。所以你使用驼峰来命名也是可以的,但是我们要避免用驼峰来命名。
不只是数据库,就是平常的程序也是,因为:

MYSQL 5.7 FEATURES. THIS MANUAL DESCRIBES FEATURES THAT ARE NOT INCLUDED IN EVERY EDITION OF MYSQL 5.7; SUCH FEATURES MAY NOT BE INCLUDED IN THE EDITION OF MYSQL 5.7 LICENSED TO YOU. IF YOU HAVE ANY QUESTIONS ABOUT THE FEATURES INCLUDED IN YOUR EDITION OF MYSQL 5.7, REFER TO YOUR MYSQL 5.7 LICENSE AGREEMENT OR CONTACT YOUR ORACLE SALES REPRESENTATIVE.

你能一眼看出这段文字么?

MySQL 5.7 features. This manual describes features that are not included in every edition of MySQL 5.7; such features may not be included in the edition of MySQL 5.7 licensed to you. If you have any questions about the features included in your edition of MySQL 5.7, refer to your MySQL 5.7 license agreement or contact your Oracle sales representative.

人看习惯了一种规范,看到驼峰就要花脑力去解析的好么?不只是要你看得懂,后面维护的人也要看懂。

驼峰命名法的优点是可读性好,假如代码中变量名全大写或小写,或者有下划线,那么代码可读性将会很差,而且变量全大写还会与final变量冲突。

脑补一下程序中变量全大写的场景...

驼峰法: myCatName();

下划线: my_cat_name();

全小写: mycatname();

全大写: MYCATNAME();

其实驼峰法应该是最接近书面语言的规范,这样的代码阅读起来也没什么不妥之处。

个人感觉无论是驼峰命名法,还是final型的全大写,完全是一种编程习惯,由于优点比较多,所以逐渐演变成了规范。
而与数据库相关的代码不像其他程序语言中代码那么多,写SQL即使全大(小)写也不会影响可读性,全大写的表名和字段名也不会让人眼花缭乱。
而且写SQL时如果字段名是用驼峰法命名的,DBA应该会讨厌死大小写切换吧。

userAvatar 我就是这种写法。去它的下划线。如果手工转结构的时候我还要一一去对应一次驼峰。返回给json驼峰多爽。go结构体虽然是前大写的驼峰。但我觉得 userAvatar 怎么也比 user_avatar 美观,尤其GO里一堆驼峰 却突然出现一堆 user_avatar 一点也不爽!~

一般用下划线,也有看到用全大写的,全大写的基本不能辨认单词。。。或者表名用下划线,字段用驼峰,不是很理解为什么那么写。
给你看一个全大写的
【mysql】为什么不用驼峰命名创建表名和字段?

比较老派的开发者都是用小写和下划线的这种方式, 很多可能是从oracle转过来的, 其实用驼峰更加好, 最重要的就是体现在开发的便利上, 与持久层框架映射更加方面, 如: mybatis, 写过mapper.xml的都知道, 如果用下划线会很烦, 出错率是极高的, 耽误你1个小时当玩一样, 好在是现在一般都是自动生成后再修改, 不过也是麻烦, 直接copy名字多easy啊

我干了快六年的数据库开发。可以说写了六年的sql了。负责人告诉你。如果你写sql,就要遵守下划线规范。稍微有点数据敏感性的。都这么用。这也是规范。至于驼峰,你开发 java代码或者其他代码 可以用。用在写sql上不适合。好处就是可读性高,区分性强。比如起表名 temp_a 。那我就知道这是临时表a。当然你可以说我 TempA。那么复杂点。呢temp_taobao_20170101,20170101的淘宝临时表。TempTaoBao20170101。是不是有点长了?那我再复杂一点。Temp_tabao_cust_info淘宝客户信息临时表。甚至可以缩写。temp_TB_cust_info,如果驼峰呢。tempTBCustInfo。数据库表名和字段一般都带有业务含义的。谁都知道度一句没有任何标点符号的话很费劲这就是为什么要用下划线。上句话我就少了一个句号。你看看是不是很费劲?

以上是 【mysql】为什么不用驼峰命名创建表名和字段? 的全部内容, 来源链接: utcz.com/a/73316.html

回到顶部