加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql – 在创建表时在SQL中对列进行排序的最佳实践

发布时间:2020-12-11 23:49:02 所属栏目:MySql教程 来源:网络整理
导读:我有一个表foo,其中包含以下列 create table foo (id integer not null auto_increment unique,name varchar(255),desc varchar(255),modified_time datetime not null,type tinyint(1)) 遵循所有列的排序约定是否有任何最佳实践(例如,按字母顺序排列或顶部

我有一个表foo,其中包含以下列

create table foo (
id integer not null auto_increment unique,name varchar(255),desc varchar(255),modified_time datetime not null,type tinyint(1)
)

遵循所有列的排序约定是否有任何最佳实践(例如,按字母顺序排列或顶部不是空值,底部是其余列) 最佳答案 当然首先是主键.
该列的名称通常是tablename_id(传统)或只是’id'(由rails等框架首选).

如果使用的话,通常是下一个名称/描述字段,就像你拥有它一样.

我倾向于在那之后放置外键(父母第一,之后的孩子),因为他们在开发过程中往往更加关键.

然后我将其他数据分组,例如地址线,城市,州,拉链在一起.

当没有其他规则适合时,我倾向于选择更高的必需字段以提高可见性.

时间戳(部分/全部created_on,updated_on,removed_on等)通常持续

所以在你的例子中,我实际上会这样做:

create table foo (
id integer not null auto_increment unique,type tinyint(1),modified_time datetime not null
)

注意 – 正如Kolink所指出的那样,使用描述而不是desc,因为desc是一个保留字,意思是降序,例如命令desc

However… big disclaimer…

如果您的表格随着时间的推移而变化(即现实世界)并且您有现有的生产数据,那么您将不会按最初“计划”的顺序排序.这可以通过导出和重新导入来避免,但在许多情况下,最好接受排序只是程序员方便的初始创建约定.

这里另一个热门话题是列名命名约定.这是一个完整的’其他话题,但我会说,除非被迫,否则不要缩写!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读