8.18内容整理和概述
今日内容概要
内容目录
python操作MySQL
第三方模块:pip3 install pymysql
方法:
1.cursor.fetchone():获取结果集中一条数据
2.cursor.fetchall():获取结果集中所有数据
3.cursor.fetchmany(数量):获取结果集中指定条的数据
4.cursor.scroll(2, mode='relative'):基于当前位置往后移动
5.cursor.scroll(0, mode='absolute'):基于数据集开头的位置往后移动
6.MySQL语句+comment:注释
7.exists:exists后面的sql语句如果有结果那么执行前面的sql语句
操作步骤:
1.链接服务端:
conn = pymysql.connect(
host='127.0.0.1',
port=3306,
user='root',
password='123',
database='db5',
charset='utf8mb4',
autocommit=True # 执行增、改、删操作自动执行conn.commit,提交事务
)
2.产生一个游标对象:
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
3.编写SQL语句:
sql1 = 'SQL语句'
4.发送给服务端
cursor.execute(sql1)
5.获取命令的执行结果
res = cursor.fetchall()
SQL注入问题
本质:利用一些特殊符号的组合产生了特殊的含义从而逃脱了正常的业务逻辑
措施:
1.sql = "select * from userinfo where name=%s and pwd=%s"
2.cursor.execute(sql, (username, password))