MySQL建表DDL规范(欢迎补充)

基本规范:

  1. 表名和字段名全大写,一般表名以T开头
  2. 脚本需支持可重复执行,带IF NOT EXISTS ,但不可带DROP语句
  3. 字符集使用utf8mb4 (CHARSET = utf8mb4 collate utf8mb4_unicode_ci)
  4. 脚本文件使用无BOM的UTF-8编码,否在会导致乱码
  5. 普通表,使用T开头,例如T_ACCOUNT
  6. 参数表,使用T_PARA开头,例如T_PARA_GENRAL_CONFIG
  7. 批量业务使用的表,使用T_BATCH开头,如T_BATCH_ACCOUNT_ITEM
  8. 流水类的表,必须带业务流水号、系统流水号(全局贯穿),例如T_TRANS_LOG_RECHARGE

案例DDL模板:

CREATE TABLE IF NOT EXISTS `T_XXXTODO`
(
`ID` bigint NOT NULL comment '主键id',
`COLUMN1` tinyint(4) NOT NULL comment 'xxx1',
`COLUMN2` tinyint(4) NOT NULL comment 'xxx1',
`COLUMN3` tinyint(4) NOT NULL comment 'xxx1',
`BIZ_DATE` date NOT NULL comment '业务日期',
`CREATED_DATETIME` datetime NOT NULL default CURRENT_TIMESTAMP comment '创建时间',
`LAST_MODIFIED_DATETIME` datetime NOT NULL default CURRENT_TIMESTAMP on update current_timestamp comment '更新时间',
`VERSION` int(11) NOT NULL comment '乐观锁版本号',
PRIMARY KEY (`ID`),
key T_XXXTODO_LAST_MODIFIED_DATETIME (LAST_MODIFIED_DATETIME)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
collate utf8mb4_unicode_ci comment 'T_XXXTODO表';

MySQL建表DDL规范(欢迎补充)的更多相关文章

  1. 基于表的数据字典构造MySQL建表语句

    表的数据字典格式如下: 如果手动写MySQL建表语句,确认麻烦,还不能保证书写一定正确. 写了个Perl脚本,可快速构造MySQL脚本语句. 脚本如下: #!/usr/bin/perl use str ...

  2. mysql建表出现Timestamp错误

    mysql建表时如果有两个或以上的字段为Timestamp,那么可能会出现如下错误: Incorrect table definition; there can be only one TIMESTA ...

  3. MySql 建表出现的问题:[ERR] 1064 - You have an error in your SQL syntax; check the manual.......

    使用 MySql 建表出现的问题 在使用 Navicat Premium 运行 sql 语句进行建表时,MySQL 报错如下: 建表语句: DROP DATABASE IF EXISTS javawe ...

  4. MySQL 建表语句 create table 中的列定义

    MySQL 建表语句 create table 中的列定义: column_definition: data_type [NOT NULL | NULL] [DEFAULT default_value ...

  5. 三种常用的MySQL建表语句

    MySQL建表语句是最基础的SQL语句之一,下面就为您介绍最常用的三种MySQL建表语句,如果您对MySQL建表语句方面感兴趣的话,不妨一看. 1.最简单的: CREATE TABLE t1(    ...

  6. 【转载】mysql建表date类型不能设置默认值

    如题,mysql建表date类型的不能设置一个默认值,比如我这样: CREATE TABLE `new_table` ( `biryhday` datetime NULL DEFAULT '1996- ...

  7. 抓取oracle建表语句及获取建表ddl语句

    抓取oracle建表语句及获取建表ddl语句 1.抓取代码如下: 1.1.产生表的语法资料 DECLARE-- v_notPartTable VARCHAR2(1000):= '&2'; -- ...

  8. Mysql建表通用写法

    Mysql建表通用写法 CREATE TABLE IF NOT EXISTS stu( id ) PRIMARY KEY AUTO_INCREMENT,//主键 自增 stuname ) NOT NU ...

  9. 【记录】Mysql 建表注意事项

    博主最近打算搭建商城,由于之前对建表只有很浅显的理解,没有太过深入了解,建表过程中遇到一些问题,现记录如下, 如有问题请各位留言指正,感激不尽: 建表时设置如何设置联合主键?如下标红处: CREATE ...

随机推荐

  1. python+pytest接口自动化(16)-接口自动化项目中日志的使用 (使用loguru模块)

    通过上篇文章日志管理模块loguru简介,我们已经知道了loguru日志记录模块的简单使用.在自动化测试项目中,一般都需要通过记录日志的方式来确定项目运行的状态及结果,以方便定位问题. 这篇文章我们使 ...

  2. TENSEAL: A LIBRARY FOR ENCRYPTED TENSOR OP- ERATIONS USING HOMOMORPHIC ENCRYPTION 解读

    本文记录阅读该paper的笔记,这篇论文是TenSeal库的原理介绍. 摘要 机器学习算法已经取得了显著的效果,并被广泛应用于各个领域.这些算法通常依赖于敏感和私有数据,如医疗和财务记录.因此,进一步 ...

  3. 关于我学git这档子事(5)

    对于错误: fatal: refusing to merge unrelated histories 解决之道: git pull origin main --allow-unrelated-hist ...

  4. 工具分享:清理 Markdown 中没有引用的图片

    前言: 之前,我写笔记的工具一直都是 notion,而且没有写博客的习惯.但是一是由于 notion 的服务器在国外,有时候很不稳定:二是由于 notion 的分享很不方便,把笔记分享给别人点开链接之 ...

  5. VS Code - Vim 插件自动切换输入法

    前言: 在使用 Linux 的过程中,vim 是一个不错的编辑器,以至于多数人将其用成了习惯,在没有 vim 的环境下还是习惯用 vim 的快捷键来编辑文本.所以便有开发者们为众多的 IDE 和文本编 ...

  6. GitHub 简介

    用详细的图文对GitHub进行简单的介绍. git是一个版本控制工具,github是一个用git做版本控制的项目托管平台. 主页介绍: overview:总览.相当于个人主页. repositorie ...

  7. STM32时钟系统配置程序源码深入分析

    一.分析程序的目的 最近我在移植实时系统是遇到了一些问题,所以决定深入了解系统时钟的配置过程,当然想要学好stm32的小伙伴也有必要学习好时钟系统的配置,所以我将学习的过程再次记录,有写得不好的地方, ...

  8. wappalyzer 上各种开源框架功能

    Underscore.js  官网地址:https://underscorejs.org/     一个JavaScript实用库,提供了一整套函数式编程的实用功能,但是没有扩展任何JavaScrip ...

  9. Markdown常见基本语法

    标题 -方式一:使用警号 几个警号就是几级标题,eg: # 一级标题 -方式二: 使用快捷键 ctrl+数字 几级标题就选其对应的数字, eg: ctrl+2(二级标题) 子标题 -方式一: 使用星号 ...

  10. element ui FORM表单

    form表单 Form-Item Slot [label] 旧版语法 <el-form-item label="活动名称" prop="name"> ...