数据库名 小写。 表名 前缀_小写。
那么字段名: 我看到一个资料是这么说的: 一种推荐的命名规则是:在定义数据库、表、列的时候全部采用小写字母加下划线的方式,不使用任何大写字母。
大家认可么?是这么操作的么? 虽然大小写无所谓,我只是想看看最佳的规范。
闭关修行中......
MySQL 区分大小写的策略是这样的:
表名 和 库名 是跟随系统的,就是说 Windows 不区分,Linux 区分,MAC 根据文件系统的格式化选项可以区分也可以不区分,默认不区分。 字段名 都 不区分。
表名
库名
字段名
不区分
我们平时看到的 SQL 语句中的 大写 的 关键词 全部都是徒劳,MySQL 会把它们全部转换成小写再入库查询。
大写
关键词
这是去哪儿内部的一个分享ppt 去哪儿MySQL开发规范.pdf:http://vdisk.weibo.com/s/dR8G_5nKajgp
看以参照下,不过每个都有自己的规范,相对而言有个约束有利于协作
认可采用小写加下划线的方式。 表名方式:【项目名_模块名_表名】 我们就是这样写的。 要是觉得太长了,也可以去掉项目名称,数据库名字就是项目名称。
【项目名_模块名_表名】
我的(多年前同事教的,原本还有后缀 info,relation 来区别表类型,还有二级主题默认为base,我觉查看表列表时排序乱给去掉了):
表名由"分区模块主题[_二级主题]"组成, 推荐最多两级主题. 分区分别为: a: 应用区, 存放应用数据 b: 仓库区, 存放历史数据 m: 市场区, 存放结果数据 s: 缓冲区, 存放缓冲数据 字段名推荐: id 主键, CHAR(20) pid 父键, CHAR(20) xx_id 外键, CHAR(20), xx为关联表缩写 dflag 删除标识, TINYINT, 0为正常, 1为删除, 可用其他数字表示其他状态 ctime 创建时间, DATETIME或TIMESTAMP mtime 修改时间, DATETIME或TIMESTAMP btime 开始时间, DATETIME或TIMESTAMP etime 结束时间, DATETIME或TIMESTAMP
我是PHPer,个人比较偏向于全部使用小写+下划线的方式,不过所在公司项目使用的规范是库名和表名使用小写+下划线,字段名使用小驼峰命名方式,我猜测使用小驼峰作为字段命名规范主要目的是为了跟代码的变量命名规范保持一致。
先找种命名方式用吧,以后觉得不妥的时候,下次设计改就行了。听别人说,总知道这样好,却又体会不到为啥,没意思。 我一般是所有命名都是小写,oracle貌似对大写比较钟情,mysql经常你写的大写,最后还会转成小写,伤心了,就不用大写了。 表名:模块前缀_表名;历史表名:模块前缀_表名_his; 字段名:主键就叫id;普通字段就是名称,没有前缀;如果是外键:外键所在表的表名_外键在原表中的字段名称
MySQL 区分大小写的策略是这样的:
我们平时看到的 SQL 语句中的
大写
的关键词
全部都是徒劳,MySQL 会把它们全部转换成小写再入库查询。这是去哪儿内部的一个分享ppt
去哪儿MySQL开发规范.pdf:http://vdisk.weibo.com/s/dR8G_5nKajgp
看以参照下,不过每个都有自己的规范,相对而言有个约束有利于协作
认可采用小写加下划线的方式。
表名方式:
【项目名_模块名_表名】
我们就是这样写的。要是觉得太长了,也可以去掉项目名称,数据库名字就是项目名称。
我的(多年前同事教的,原本还有后缀 info,relation 来区别表类型,还有二级主题默认为base,我觉查看表列表时排序乱给去掉了):
表名由"分区模块主题[_二级主题]"组成, 推荐最多两级主题.
分区分别为:
a: 应用区, 存放应用数据
b: 仓库区, 存放历史数据
m: 市场区, 存放结果数据
s: 缓冲区, 存放缓冲数据
字段名推荐:
id 主键, CHAR(20)
pid 父键, CHAR(20)
xx_id 外键, CHAR(20), xx为关联表缩写
dflag 删除标识, TINYINT, 0为正常, 1为删除, 可用其他数字表示其他状态
ctime 创建时间, DATETIME或TIMESTAMP
mtime 修改时间, DATETIME或TIMESTAMP
btime 开始时间, DATETIME或TIMESTAMP
etime 结束时间, DATETIME或TIMESTAMP
我是PHPer,个人比较偏向于全部使用小写+下划线的方式,不过所在公司项目使用的规范是库名和表名使用小写+下划线,字段名使用小驼峰命名方式,我猜测使用小驼峰作为字段命名规范主要目的是为了跟代码的变量命名规范保持一致。
先找种命名方式用吧,以后觉得不妥的时候,下次设计改就行了。听别人说,总知道这样好,却又体会不到为啥,没意思。
我一般是所有命名都是小写,oracle貌似对大写比较钟情,mysql经常你写的大写,最后还会转成小写,伤心了,就不用大写了。
表名:模块前缀_表名;历史表名:模块前缀_表名_his;
字段名:主键就叫id;普通字段就是名称,没有前缀;如果是外键:外键所在表的表名_外键在原表中的字段名称