sql注入问题-视图-事物-以及存储过程(可视化工具)

时间:2023-03-09 16:45:13
sql注入问题-视图-事物-以及存储过程(可视化工具)

可视化工具(了解)

可视化工具  workbench

视图

视图
是一张虚拟的表 语法:
create view 视图表名 as select * from t1; 作用;
1.他是执行as 后面的sql 语法得到的一张查表
2.可以对视图进行修改,修改后会同步原表,但修改原表不会同步到视图表里,因为视图表是执行sql语句查看原表得到的一张表
3 视图是永久存储的,存储的不是数据,存储的是as 后面的sql 语句

sql注入问题

sql注入攻击问题
意思是一些懂sql语法的人,会输入一些关键字,--,where等时,从而跳过登陆或者删除数据库
所以我们可以加入限制条件,
但是无法避免 中间人攻击(在你的客户端和服务器中间加一个中转服务器)
这样就绕过了客户端的输入限制 此时 只能将 sql合法性验证放在服务器端 count = cursor.execute("select *from user where user = %s and pwd = %s;",args=(input("user"),input("pwd")))

事物

事物
就是一组 sql 语句的集合,他是原子性的,要么全部执行,要么都不执行
重点掌握两点:mysql服务端自动提交 一条sql语句就是一个单独事物
pymysql 需要手动提交 默认开启了事物 start transaction 开启事物
comit 提交
rollback 撤销

存储过程

存储过程
可以理解为mysql 的存储过程
简单的说就是用mysql 写函数
实际上就是一个函数 语法:
在mysql 中调用函数用 call
delimite //
create procedure 过程的名字 ( in/out/inout 数据名称 数据类型 )
bigin
# 一些sql语句
while ( i<100 ) do
insert into t1 value( n ,concat(“egon”,n) )
set n = n+1
end while
end //
delimite ;