当前位置: 首页 > news >正文

湖北省建设厅质监站网站ui培训哪家机构

湖北省建设厅质监站网站,ui培训哪家机构,沈阳京科医院是正规医院吗,深圳高端网站设计公司命名 mysql表名的命名规范为表名可以用 t_ 、tb_的前缀,或者是业务模块前缀。比如t_order。 有些项目也会使用 tt_、tm_、 ts_ 等前缀,根据项目的习惯命名就好了。 主键: AUTO_INCREMENT 表示自增,UNSIGNED 表示无符号&#xf…

命名

mysql表名的命名规范为表名可以用 t_ 、tb_的前缀,或者是业务模块前缀。比如t_order。
有些项目也会使用 tt_、tm_、 ts_ 等前缀,根据项目的习惯命名就好了。

主键:

  • AUTO_INCREMENT 表示自增,UNSIGNED 表示无符号,UNIQUE 表示唯一约束,COMMENT为字段描述。DEFAULT表示默认值。NOT NULL表示不能为NULL。
  • 主键一般情况下用自增id,自增id是有序的,性能会比较好。
  • 分库分表的主键id,可以用雪花算法,自增id容易有冲突。

索引

  • mysql 索引用idx_开头,唯一索引用uk_开头。
  • 如果有多个索引,可以用复合索引的情况,考虑用复合索引。如果查询条件不满足"最左匹配原则",考虑用单独索引。

整型

  • 数字类型的状态数值,建议不要从0开始,0会被某些ORM框架(比如mybatis) 识别成空。
  • 状态用数值类型表示时,如果业务变化比较快/复杂,建议用10,20,30之类的数字,如果后续新增中间的状态,可以用 11,12表示,方便拓展。
  • INT数据类型所表示的数值范围从 -2^31 到 2^31-1,可以用int数据类型来表达-2,147,483,648到2,147,483,647(即大约正负二十亿)之间的整数。
  • 数字类型(INT、BIGINT、TINYINT)后面括号内的字段长度是用来表示该类型最多显示多少位的,类似于注释,并不起任何作用。
  • INT(10)和INT(4)没什么区别,直接写 INT 也可以。
  • BIGINT:超过INT的范围,需要用BIGINT。
  • 存储精确浮点数,必须使用DECIMAL替代FLOAT和DOUBLE。
  • TINYINT: TINYINT 无符号的范围是0-255之间的数字。布尔类型,或者一些简单的数值。

字符串

  • VARCHAR要检查字段长度,写入时是否限制长度,太长会浪费存储空间,太短插入时会报错。

  • VARCHAR的长度最好比实际要求的稍长一些,留一些扩展性。

  • VARCHAR的DEFAULT默认值,最好设置成’',也就是 DEFAULT ‘’,而不是NULL。NULL对统计、求和都会有影响。

TEXT类型

  • 不建议使用 TEXT 大字段类型,性能比较差。

  • TEXT类型,不可以有默认值。否则会报错 BLOB, TEXT, GEOMETRY or JSON column can’t have a default value

逻辑删除

  • 删除数据,最好加一个 deleted 的字段,为1时表示已失效,不要直接把数据删除,出现问题,方便溯源。

如果用 is_delete, 数据映射成对象后, is开头的属性,进行rpc调用时,可能会有序列化的问题。

字符

  • DEFAULT CHARSET=utf8mb4, utf8mb4 比 utf8 支持更广泛的字符范围。

日期时间

  • 日期类型,使用 DATE.

  • 日期时间类型,用 DATETIME 或者TIMESTAMP ,如果不需要支持多个时区,一般用 DATETIME. 因为TIMESTAMP 的最大值是2038年。

  • DATETIME 和 TIMESTAMP 区别如下:

datetime只支持一个时区,就是存储时当前服务器的时区,而timestamp存储的是与时区有关;
datetime存储占用8个字节,而timestamp是占用4字节;
timestamp插入NULL时会自动转换成当前时间.datetime插入NULL就是NULL.
  • 涉及新增或变更操作记录的,必须有 create_time字段和update_time字段 ,方便定位问题。

  • DEFAULT CURRENT_TIMESTAMP表示默认当前时间,ON UPDATE CURRENT_TIMESTAMP 表示更新时默认当前时间。

示例:

CREATE TABLE tt_order
(id          BIGINT(20)        NOT NULL AUTO_INCREMENT COMMENT '主键,自增id',order_id    VARCHAR(32) NOT NULL UNIQUE COMMENT '订单号,唯一',pay_status  INT UNSIGNED DEFAULT 0 COMMENT '10:未支付,20:支付成功,30:支付失败, 40:已下单,50:申请退款,60:退款成功,70:退款失败 ',user_id     BIGINT(20)  NOT NULL COMMENT '用户id',total_price DECIMAL(32, 2)   DEFAULT 0.00 COMMENT '交易金额',order_desc  VARCHAR(128)     DEFAULT '' COMMENT '订单描述',order_date  DATE             DEFAULT NULL COMMENT '订单日期',create_time DATETIME         DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间,默认当前时间',update_time DATETIME         DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间,更新时默认当前时间',deleted   TINYINT(1)       DEFAULT 0 COMMENT '是否删除,0表示否,1表示是',PRIMARY KEY (id),INDEX idx_order (order_id)
) ENGINE = INNODBDEFAULT CHARSET = utf8mb4AUTO_INCREMENT = 1 COMMENT ='示例表';

参考资料:

https://www.cnblogs.com/mxwz/p/7520309.html

http://www.yayakq.cn/news/853262/

相关文章:

  • 衡阳企业网站建设网站怎么做子网页
  • 网站新增关键词工程公司简介
  • 网站建设 app开发网站html模板之家免费下载
  • 礼品公司网站建设电商网站页面布局
  • php网站编程付费网站搭建
  • 江苏建设类高级工程师在那个网站公示qq轻聊版
  • logo在线制作网站郑州seo线上推广系统
  • 自己做了一个网站网站做单链 好不好
  • 福州自助建站软件织梦手机网站制作教程
  • 哪些企业必须用网站百度网站统计添加网址
  • 网站建设丿金手指15京东网上购物商城购物
  • 那个公司做网站好热 动漫-网站正在建设中-手机版6
  • 贾汪建设局网站设计标志公司
  • 个人怎么建设网站wordpress分页问题
  • dell网站设计特色网站开发需要用到哪些技术
  • 重庆模板网站建设农村基本制度建设网站
  • 电商网站建设题库怎么制作代码
  • 梦幻西游网页版官方网站网页设计主页和子页怎么做
  • 线上网站制作网站建设实训心得与建议
  • 南通专业网站建设网站建设心得
  • 南通网站建设祥云做销售在哪些网站发贴
  • 网页设计视频教程-响应式手机网站制作wordpress文章点不开
  • seo优化网站优化排名促销礼品网站建设
  • 泰安信誉好的网络推广公司搜索引擎优化员简历
  • 石大网页设计与网站建设客观题电子商务专业毕业从事什么工作
  • 小程序模板做视频网站网站设计的必要性
  • 长春专业网站建设公司排名网站关键词密度过高
  • 某学校网站的安全建设方案江苏易销 网站建设
  • 用wordpress建站一定要先有域名和空间吗英文集团网站设计建设
  • 天津注册公司网站外发加工网邀请码