【Mysql】Python操作

一、安装pymysql

pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。

python2,默认无pip命令

python3,默认自带pip命令

解决一般pip错误(pip更新):

1.使用python -m pip install --upgrade pip      #升级失败
2.使用python -m pip install -U --force-reinstall pip #依然失败
3.使用pip install --user --upgrade pip        #成功升级

二、基本操作

1.基本增删改

# 导入模块
import pymysql
# 创建连接
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='root', db='sqlexample', charset='utf8')
# 创建游标
cursor = conn.cursor()
# 执行SQL,并返回受影响行数
cursor.execute('insert into mydata(author,age) values(%s%s)',('Shura', 100))
# 执行SQL,并返回受影响行数
cursor.executemany('insert into mydata(author,age) values(%s%s)',[('a', 100),('b', 99)])
# 获取最新的一条自增ID
cursor.lastrowid
# 提交,不然无法保存新建或者修改的数据 
conn.commit() 
# 关闭游标 
cursor.close() 
# 关闭连接 
conn.close()

2.基本查询

r = cursor.execute('select author from mydata where cid < 3')
# 取出查询到指向的一条数据(以迭代形式取出元组)
result = cursor.fetchone()    # 取出第一条
# 取出查询到指定数据
result = cursor.fetchmany(3)   # 取出2-5条
# 取出查询到所有数据
result = cursor.fetchall()    # 取出剩下所有
# 迭代的指针操作
cursor.scroll(0, mode='absolute')    # 返回到第一条数据
cursor.scroll(-1, mode='relative')    # -1向前移动一条 1向后移动一条

sql注入:执行SQL语句严禁使用字符串的拼接,使用占位符与参数进行传递

sql注入的一个简单实例:1.加上-- 将后面 and password 进行注释掉 输入用户则条件成立 2.家上 or 1=1 条件永远成立

 

3.创建游标并设置返回数据类型

cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) # 获取字典类型数据  [{'tid': 1, 'tname': '波多'}, {'tid': 2, 'tname': '苍空'}]

 286

posted @ 2020-07-24 21:50  Shuranima  阅读(122)  评论(0)    收藏  举报