赞
踩
本规范旨在帮助开发人员逐步建立合理使用数据库的意识,对数据库相关的资源申请、业务规范使用等提供规范性的指导,从而为公司业务系统稳定、健康地运行提供保障。
所有对象命名应该遵循下述原则:
注:xxx 可以是公司的英文标识,请根据实际修改。
注:如果已有同类业务的mysql实例,则新库优先创建在已有实例上;
注:推荐一个业务线使用一个mysql实例,若mysql单实例超过20个数据库,则应拆分多个实例;
- CREATE DATABASE xxx_pay_gateway DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- CREATE USER 'user_pay_gateway'@'%' IDENTIFIED BY 'wSgjBrY5lqe!mbIu';
- GRANT SELECT,INSERT,UPDATE ON xxx_pay_gateway.* TO 'user_pay_gateway'@'%';
- FLUSH PRIVILEGES;
示例解析
注:utf8最大支持3个字节的UTF-8字符(真正的UTF-8是每个字符最多四个字节),支持大部分汉字;而utf8mb4是utf8的超集,专门兼容4个字节的unicode,支持Emoji表情、很多不常用的汉字,以及任何新增的Unicode字符等;
特例:若为开源项目,因为初始化过程需要创建相关资源,权限可以设为 ALL PRIVILEGES
- USE xxx_pay_gateway;
- CREATE TABLE IF NOT EXISTS users (
- id bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'PK',
- user_id bigint(20) NOT NULL comment '用户id',
- user_name varchar(10) NOT NULL comment '用户姓名',
- insert_time timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '插入时间',
- update_time timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '更新时间',
- is_delete tinyint(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除状态位,1删除0保留',
- PRIMARY KEY pk_users(id),
- KEY idx_insert_time(insert_time)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户基础表' /*# Owner: 张开发; Manager: 李经理 #*/ ;
示例解析
索引类型 | 命名规范 | 备注 |
---|---|---|
主键 | pk_表名 | 主键具有唯一性,以表名命名 |
普通索引 | idx_字段1_字段n | 不用加上表名,有点冗余 |
唯一索引 | udx_字段1_字段n | u表示unique,唯一 |
ALTER TABLE users ADD INDEX idx_update_time(update_time);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。