Inception SQL审核注解

1、建表语句

建表语句检查项

表属性的检查项
这个表不存在
对于create table like,会检查like的老表是不是存在。
对于create table db.table,会检查db这个数据库是不是存在
表名、列名、索引名的长度不大于64个字节
如果建立的是临时表,则必须要以tmp为前缀
必须要指定建立innodb的存储引擎(可配置)
必须要指定utf8的字符集(字符串可配置,指定支持哪些字符集)
表必须要有注释(可配置)
表不能建立为分区表(可配置)
只能有一个自增列
索引名字不能是Primay
不支持Foreign key(可配置)
建表时,如果指定auto_increment的值不为1,报错(可配置)
如果自增列的名字不为id,说明有可能是有意义的,MySQL这样使用比较危险,所以报警(可配置)
列属性的检查项
不能设置列的字符集(可配置)
列的类型不能使用集合、枚举、位图类型。(可配置)
列必须要有注释(可配置)
char长度大于20的时候需要改为varchar(长度可配置)
列的类型不能是BLOB/TEXT。(可配置)
每个列都使用not null(可配置)
如果列为BLOB/TEXT类型的,则这个列不能设置为NOT NULL。
如何是自增列,则使用无符号类型(可配置)
如果自增列,则长度必须要大于等于4个字节(可配置)
如果是timestamp类型的,则要必须指定默认值。
对于MySQL5.5版本(包含)以下的数据库,不能同时有两个TIMESTAMP类型的列,如果是DATETIME类型,则不能定义成DATETIME DEFAULT CURRENT_TIMESTAMP及ON UPDATE CURRENT_TIMESTAMP等语句。
每个列都需要定义默认值,除了自增列、主键列及大字段列之外(可配置)
不能有重复的列名
索引属性检查项
索引必须要有名字
不能有外键(可配置)
Unique索引必须要以uniq_为前缀(可配置)
普通索引必须要以idx_为前缀(可配置)
索引的列数不能超过5个(数目可以配置)
表必须要有一个主键(可配置)
最多有5个索引(数目可配置)
建索引时,指定的列必须存在。
索引中的列,不能重复
BLOB列不能建做KEY
索引长度不能超过766
不能有重复的索引,名字及内容
默认值检查项
BLOB/TEXT类型的列,不能有非NULL的默认值
MySQL5.5以下(含)的版本,对于DATETIME类型的列,不能有函数NOW()的默认值。
如果设置默认值为函数,则只能是NOW()。
如果默认值为NULL,但列类型为NOT NULL,或者是主键列,或者定义为自增列,则报错。
自增列不能设置默认值。

2、插入语句

插入语句检查项

表是否存在
必须指定插入列表,也就是要对哪几个列指定插入值,如insert into t (id,id2) values(...),(可配置)
必须指定值列表,与上面对应的列,插入的值是什么,必须要指定。
插入列列表与值列表个数相同,上面二者的个数需要相同,如果没有指定列列表(因为可配置),则值列表长度要与表列数相同。
不为null的列,如果插入的值是null,报错(可配置)
插入指定的列名对应的列必须是存在的。
插入指定的列列表中,同一个列不能出现多次。
插入值列表中的简单表达式会做检查,但具体包括什么不一一指定

3、更新、删除语句

更新、删除语句检查项

表是否存在
必须有where条件(可配置)
delete语句不能有limit条件(可配置)
不能有order by语句(可配置)
影响行数大于10000条,则报警(数目可配置)
对WHERE条件这个表达式做简单检查,具体包括什么不一一指定
对更新列的值列表表达式做简单检查,具体不一一指定
对更新列对象做简单检查,主要检查列是不是存在等
多表更新、删除时,每个表必须要存在

转载于:https://www.cnblogs.com/hankyoon/p/11125389.html

Inception SQL审核注解相关推荐

  1. mysql数据库sql审核_Inception SQL审核注解

    Inception SQL审核注解 发布时间:2020-08-14 08:03:18 来源:ITPUB博客 阅读:91 作者:haoge0205 Inception SQL审核注解 1.建表语句 建表 ...

  2. Docker Yearning + Inception SQL审核平台搭建

    [一]安装 [1.1]系统环境 系统环境:CentOS Linux release 7.6.1708 (Core) 系统内存:4G 系统内核:1 Python:3.6.4 关闭iptables and ...

  3. mysql inception web_基于Inception搭建MySQL SQL审核平台Yearing

    Inception 1. Inceptionj简介 Inception是一款针对MySQL的SQL语句审核自动化运维工具.使用Inception,将会给DBA带来更大的便利性,将DBA从繁冗的工作中解 ...

  4. Yearning v1.4.2 发布,SQL审核平台

    Yearning SQL审核平台 v1.4.2发布了. Yearning 是基于inception的web端SQL审核平台,可为dba提供流程化规范化的SQL提交流程.具有审核,审计,查询,多权限划分 ...

  5. SQL 审核查询平台

    ◆一.开源项目简介 Archery 定位于 SQL 审核查询平台,旨在提升 DBA 的工作效率,支持多种数据库的 SQL 上线和查询,同时支持丰富的 MySQL 运维功能. ◆二.开源协议 使用Apa ...

  6. 落地SQL审核的迭代思路

    在近一年的工作里面,发现很多事情不是一蹴而就,一个核心思想就是迭代,简而言之,迭代的目标有两个主要的结果,一个是从0到1,另外一个是从1到99.对于很多运维系统来说,大家不要总是聊"后期如何 ...

  7. SQL审核平台-Yearning部署与使用

    SQL审核平台Yearning部署 Yearning优势: Yearning SQL 审计平台 基于Vue.js与Django的整套mysql-sql审核平台解决方案.提供基于Inception的SQ ...

  8. docker 安装部署Yearning SQL 审核平台

    一.安装Inception (sql审核的核心组件) 启动一个数据库docker run --name pwc-mysql -e MYSQL_ROOT_PASSWORD=xxxx -p 3308:33 ...

  9. Yearning 开源SQL审核平台安装使用

    一.Yearning简介   Yearning 是MYSQL SQL语句审核平台.提供查询审计,SQL审核等多种功能. Yearning 1.x版本需inception提供SQL审核及回滚功能. Ye ...

最新文章

  1. TreeSet HashSet
  2. 某中学的排课管理系统_某中学的排课管理系统(SQL的简单应用)
  3. HTML 标记大全参考手册
  4. linux下VMware_Tools虚拟机工具的安装
  5. matlab 动态目录调用程序集,C#中如何动态添加程序集查找目录
  6. 互联网晚报 | 12月23日 星期四 | 芒果TV将上调会员价格;小红书宣布月活达2亿;荣耀首款折叠旗舰荣耀MagicV官宣...
  7. 金融分析师 python_金融分析中的Python环境搭建
  8. 哪些趋势正在推动人工智能创新?
  9. NotificationManager和Notification区别
  10. 网站发布后验证码不显示
  11. UVA 10791 Minimum Sum LCM 数论
  12. 2019刚开年全球天气已“爆表” 多国极端天气打破历史纪录
  13. 数据库系统概论第五版(第 3 章 关系数据库标准语言SQL)笔记
  14. 游戏测试基础:适配性测试
  15. 博弈论(1)—— 零和与非零和
  16. 迷你西游最新服务器是哪个,《迷你西游》新开服务器公告
  17. Jquery锚点缓慢移动到目标位置
  18. 解决error while accessing a target resource. resource is perhaps not available or a wrong access was
  19. 根据先序序列与中序序列确定二叉树
  20. SequoiaDB 巨杉数据库集群模式部署

热门文章

  1. 交互式SQL(数据定义部分)
  2. 红曲面怎么做_「曲面建模」CREO陶瓷小摆件的曲面建模,怎么样分析和拆解面...
  3. linux i2c调试命令,嵌入式Linux下I2C接口调试
  4. java byte 正数最大_为什么Java byte 类型的取值范围是-128~127
  5. 网络营销——营销型网站如何在网络营销大环境中展开宣传与推广
  6. 网站优化工作关键——稳定排名!
  7. mysql导入sql文件限制,Mysql导入大容量SQL文件数据有关问题
  8. 32位微型计算机quot;中的32指的是,《计算机应用基础作业一).doc
  9. linux系统简单操作代码,Linux系统编程:简单文件IO操作(示例代码)
  10. mysql总结 博客园_mysql总结