个人技术分享

 前言

欢迎来到我的博客

个人主页:北岭敲键盘的荒漠猫-CSDN博客

本文着重整理pymsql的常用方法

不专门讲解MySQL数据库的相关知识

常用基本语法汇总

import pymysql

#连接数据库
conn=pymysql.connect(host='127.0.0.1',port=3306,user='root',password='123456',charset='utf8',db="exper")
#实例化一个光标,我们的sql语句全用这个光标写
cursor=conn.cursor()

#发送指令
cursor.execute("show databases")
#接收指令的结果,如果有多行数据,获取全部的
info=cursor.fetchall()
#接收数据,如果有多行数据,只获取第一行
info=cursor.fetchone()
#输出接收的指令的结果
print(info)

#真正的操作数据库,任何增添查改的命令的后面必须添加这个才是对数据库内容进行更改
conn.commit()
#数据回滚,可以配合try异常处理,发生异常回滚撤回指令
conn.rollback()

# 关闭光标
cursor.close()
# 关闭数据库连接
conn.close()

整个使用流程与常用使用方法如上。

pymysql自动防止SQL注入

是的你没看错,pymysql可以帮咱自动检测注入。

(此时,玩渗透又玩开发的博主默默走到小角落痛哭起来.......)

安全写法如下:

import pymysql

#连接数据库
conn=pymysql.connect(host='127.0.0.1',port=3306,user='root',password='123456',charset='utf8',db="exper")
#实例化一个光标,我们的sql语句全用这个光标写
cursor=conn.cursor()

#变量(极简化写)
user=54188
pwd=14250
#语句与变量全部以参数形式传入
cursor.execute("select * from tab1 where user=%s and pwd=%s",[user,pwd])
result=cursor.fetchall()
print(result)

# 关闭光标
cursor.close()
# 关闭数据库连接
conn.close()

OK简单上手。

把语句和变量往里一放,自动检测SQL注入。

渗透玩家可以面壁思过了