Inception SQL审核注解
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审核注解相关推荐
- mysql数据库sql审核_Inception SQL审核注解
Inception SQL审核注解 发布时间:2020-08-14 08:03:18 来源:ITPUB博客 阅读:91 作者:haoge0205 Inception SQL审核注解 1.建表语句 建表 ...
- Docker Yearning + Inception SQL审核平台搭建
[一]安装 [1.1]系统环境 系统环境:CentOS Linux release 7.6.1708 (Core) 系统内存:4G 系统内核:1 Python:3.6.4 关闭iptables and ...
- mysql inception web_基于Inception搭建MySQL SQL审核平台Yearing
Inception 1. Inceptionj简介 Inception是一款针对MySQL的SQL语句审核自动化运维工具.使用Inception,将会给DBA带来更大的便利性,将DBA从繁冗的工作中解 ...
- Yearning v1.4.2 发布,SQL审核平台
Yearning SQL审核平台 v1.4.2发布了. Yearning 是基于inception的web端SQL审核平台,可为dba提供流程化规范化的SQL提交流程.具有审核,审计,查询,多权限划分 ...
- SQL 审核查询平台
◆一.开源项目简介 Archery 定位于 SQL 审核查询平台,旨在提升 DBA 的工作效率,支持多种数据库的 SQL 上线和查询,同时支持丰富的 MySQL 运维功能. ◆二.开源协议 使用Apa ...
- 落地SQL审核的迭代思路
在近一年的工作里面,发现很多事情不是一蹴而就,一个核心思想就是迭代,简而言之,迭代的目标有两个主要的结果,一个是从0到1,另外一个是从1到99.对于很多运维系统来说,大家不要总是聊"后期如何 ...
- SQL审核平台-Yearning部署与使用
SQL审核平台Yearning部署 Yearning优势: Yearning SQL 审计平台 基于Vue.js与Django的整套mysql-sql审核平台解决方案.提供基于Inception的SQ ...
- docker 安装部署Yearning SQL 审核平台
一.安装Inception (sql审核的核心组件) 启动一个数据库docker run --name pwc-mysql -e MYSQL_ROOT_PASSWORD=xxxx -p 3308:33 ...
- Yearning 开源SQL审核平台安装使用
一.Yearning简介 Yearning 是MYSQL SQL语句审核平台.提供查询审计,SQL审核等多种功能. Yearning 1.x版本需inception提供SQL审核及回滚功能. Ye ...
最新文章
- TreeSet HashSet
- 某中学的排课管理系统_某中学的排课管理系统(SQL的简单应用)
- HTML 标记大全参考手册
- linux下VMware_Tools虚拟机工具的安装
- matlab 动态目录调用程序集,C#中如何动态添加程序集查找目录
- 互联网晚报 | 12月23日 星期四 | 芒果TV将上调会员价格;小红书宣布月活达2亿;荣耀首款折叠旗舰荣耀MagicV官宣...
- 金融分析师 python_金融分析中的Python环境搭建
- 哪些趋势正在推动人工智能创新?
- NotificationManager和Notification区别
- 网站发布后验证码不显示
- UVA 10791 Minimum Sum LCM 数论
- 2019刚开年全球天气已“爆表” 多国极端天气打破历史纪录
- 数据库系统概论第五版(第 3 章 关系数据库标准语言SQL)笔记
- 游戏测试基础:适配性测试
- 博弈论(1)—— 零和与非零和
- 迷你西游最新服务器是哪个,《迷你西游》新开服务器公告
- Jquery锚点缓慢移动到目标位置
- 解决error while accessing a target resource. resource is perhaps not available or a wrong access was
- 根据先序序列与中序序列确定二叉树
- SequoiaDB 巨杉数据库集群模式部署
热门文章
- 交互式SQL(数据定义部分)
- 红曲面怎么做_「曲面建模」CREO陶瓷小摆件的曲面建模,怎么样分析和拆解面...
- linux i2c调试命令,嵌入式Linux下I2C接口调试
- java byte 正数最大_为什么Java byte 类型的取值范围是-128~127
- 网络营销——营销型网站如何在网络营销大环境中展开宣传与推广
- 网站优化工作关键——稳定排名!
- mysql导入sql文件限制,Mysql导入大容量SQL文件数据有关问题
- 32位微型计算机quot;中的32指的是,《计算机应用基础作业一).doc
- linux系统简单操作代码,Linux系统编程:简单文件IO操作(示例代码)
- mysql总结 博客园_mysql总结