数据库建表规则_SQL创建数据表

数据库建表规则_SQL创建数据表–数据库建表语句的规范小结建表语句的规范:1.字段的设计   A.数据类型尽量用数字类型,数字类型的比字符类型的要快很多。  B.数据类型尽量小,这里的尽量小是指在满足可以预见的未来需求的前提下的,但是有不能太小,  上次监控系统里面的表mon_tair_stat_detail_2012_1的data_size和use_size定义的是int(15)实际上

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

数据库建表语句的规范小结

建表语句的规范:
1.字段的设计
    A. 数据类型尽量用数字类型,数字类型的比字符类型的要快很多。
  B. 数据类型尽量小,这里的尽量小是指在满足可以预见的未来需求的前提下的,但是有不能太小,
   上次监控系统里面的表 mon_tair_stat_detail_2012_1 的data_size 和 use_size定义的是int(15) 实际上最大长度是int(11)  只有bigint才有(15).
   所以在建表的时候一定要预估这个字段最大的长度到底是多少。
  C. 尽量不要允许NULL,除非必要,可以用NOT NULL+DEFAULT 的值来代替。
  D. 少用TEXT和IMAGE,二进制字段的读写是比较慢的,而且,读取的方法也不多,大部分情况下最好不用。

2.字段名字的定义
  A. 对字段名字的命名也要遵循一个规范。比如说时间: 目前我们定义时间的时候 都是create_time, modify_time,以后建表的时候,都按照这个标准来,就不要写成createtime这样的。
  B. 布尔类型的值均以 is、has、exist 或者 can开头。
  C. 记录行的状态都用status, 逻辑删除的标识用is_deleted。
  D. 新建的表与之前的表的字段有相似或者相同的字段,字段的名称和类型也必须相同,切记不能随意的重新命名,例如:token_md5 就不要命名成tokenmd5了。
  E. 每个字段的COMMENT必须写清楚,枚举类型必须写清楚每个值到底是什么意思。
  F. 表名 字段名字统一用小写。
  G.索引名称统一用字段名称,多个字段的索引加_ 比如 (uid,type)  索引名就是 uid_type。
  H.字段名字不要用驼峰命名法 比如create_time 不要写成CreateTime.
  I.字段命名关键字统一用下划线”_”分割,一般采用简写,关键字要准确,不能有歧义。
  J.字段的排列顺序:自增列、int类型的、varchar类型、时间类型、状态类型(status,is_deleted)。基本原则是:主要内容在前,次要内容在后,不为空的在前,可以空的在后面。
  K.时间类型尽量用 timestamp 4个字节,而不用datetime 8个字节。只用表示日期的字段用date类型。
  L.时间类型自动修改,比如modify_time 在记录被修改的时候回被自动更新成当前的时间: `modify_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
  而create_time在记录被修改的时候则不必自动更新成当前的时间:`create_time` timestamp NOT NULL DEFAULT ‘0000-00-00 00:00:00’

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197851.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 手眼标定原理ur5_手眼标定实现「建议收藏」

    手眼标定原理ur5_手眼标定实现「建议收藏」手眼标定基于Tsai的两步法标定,是经典的Ax=xB求解模型。Tsai的两步法标定是基于径向校正约束;第一步:利用最小二乘法求解线性方程组,得出相机的外参数;第二步:根据获得的相机外参数,求取相机的内参数;如果无透视畸变,可以使用一个线性方程求出。罗第6、7章;特别:P164-166)1.手眼标定就是对机械手和相机的位置关系进行标定,这样根据识别得到的像素位置去引导机械手去抓取。2.eye-…

    2022年5月31日
    52
  • CAN通信(一)——认识CAN总线[通俗易懂]

    CAN总线通俗易懂CAN总线背景CAN总线是什么网络拓扑节点、报文、信号CAN总线背景作为并非通信专业的土鳖汽车工程师,CAN通信是必须掌握的,但是,记得刚开始上来一看什么定义(什么串行数据通信协议,什么物理层和数据链路层功能,什么帧处理,位填充。。。刚学的时候确实一脸懵)。所以,我只从汽车工程师的角度讲讲我能理解和用得到的CAN通信,才疏学浅,请各位指教!关于OSI模型、物理层、数据链路层,高低电平、数据帧。。等等等,请自行查看如下链接:链接:https://blog.csdn.net/kgc

    2022年4月11日
    67
  • SourceTree Gitflow 使用一 (Git项目转Gitflow)

    SourceTree Gitflow 使用一 (Git项目转Gitflow)1.克隆项目到本地2.SourceTree打开克隆的项目3点击master点击右上角git工作流

    2025年6月7日
    0
  • MFC查找指定文件是否存在,PathFileExists 函数[通俗易懂]

    MFC查找指定文件是否存在,PathFileExists 函数[通俗易懂]MFC查找指定文件,VC++PathFileExists函数

    2022年7月12日
    15
  • Linux dstat 监控工具[通俗易懂]

    Linux dstat 监控工具[通俗易懂]简述dstat是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品。dstat克服了这些命令的局限并增加了一些另外的功能,增加了监控项,也变得更灵活了。dstat可以很方便监控系统运行状况并用于基准测试和排除故障。dstat可以让你实时地看到所有系统资源,例如,你能够通过统计IDE控制器当前状态来比较磁盘利用率,或者直接通过网络带宽数值来比较磁盘…

    2022年6月18日
    28
  • Java开发中BASE64Encoder的使用

    Java开发中BASE64Encoder的使用BASE64Encoder其实是在jkd中的,但是默认不开放,在API中也是找不到的所以先看看怎么将其导入:右击项目–buildpath–>>configurebuildpath–>>双击Accessrules–>>edit–>>add–>>修改为accessible,RulePatte…

    2022年6月24日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号