加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python操作MySQL

发布时间:2020-12-20 10:54:25 所属栏目:Python 来源:网络整理
导读:一、python操作MySQL。 首先调用pymysql模块 import pymysql 连接 conn = pymysql.connect( host = ‘ 127.0.0.1 ‘ ,port = 3306 ,user = ‘ root ‘ ,password = ‘ 123456 ‘ ,database = ‘ day38 ‘ ,charset = ‘ utf8 ‘ # 编码千万不要加-,写成utf-

一、python操作MySQL。

首先调用pymysql模块

import pymysql

连接

conn = pymysql.connect(
    host = 127.0.0.1,port = 3306,user = root,password = 123456,database = day38,charset = utf8  # 编码千万不要加-,写成utf-8会直接报错
)

产生一个游标对象

cursor = conn.cursor(pymysql.cursors.DictCursor)  # 产生一个游标对象
# DictCursor 以字典的形式反馈查询出来的数据,键是表的字段,值是表的字段对应的信息

cursor.execute 执行传入sql语句

sql = select * from teacher
cursor.execute(sql)  # 执行传入的sql语句
# print(res)  # res是执行语句返回的数据条数

cursor.fetchone ?# 只获取一条数据

cursor.fetchall # 获取所有数据,返回结果是一个列表

cursor.scroll(x,‘absolute‘) ?# 控制光标移动,相对起始位置往后移动

cursor.scroll(x,‘relative‘) ? # 相对当前位置,往后移动

print(cursor.fetchone())  # 只获取一条数据

cursor.scroll(1,absolute)  # 控制光标移动,absolute相对于起始位置,往后移动几位

# cursor.scroll(2,‘relative‘)  # relative 相对于当前位置,往后移动几位

print(cursor.fetchall())  # 获取所有的数据,返回的结果是一个列表

?

二、 sql注入问题

  就是利用注释等具有特殊意义的符号来完成一些骚操作

mport pymysql

conn = pymysql.connect(
    host = 127.0.0.1,user = 123456,charset = utf8,autocommit = True  # 这个参数配置完成后,增删改操作都不需要手动加conn.commit 了

)
cursor = conn.cursor(pymysql.cursors.DictCursor)

# sql = ‘insert into user(name,password) values("jerry","666")‘
# sql = ‘update user set name = "jason" where id = 1‘
# sql = ‘delete from user where id = 6‘
# cursor.execute(sql)


‘‘‘
增删改操作,都必须加一句
conn.commit() 操作
‘‘‘

username = input(username>>>:)
password = input(password>>>:)

sql = select * from user where name =%s and password = %s

res = cursor.execute(sql,(username,password))  # 能够帮你自动过滤特殊字符号,避免sql注入问题

# excute 能够自动识别sql语句中%s 帮你做替换
if res:
    print(cursor.fetchall())
else:
    print(用户名或密码错误)


‘‘‘
sql注入 就是利用注释等具有特殊意义的符号来完成一些骚操作

后续写sql语句,不要手动拼接关键性的数据
而是让excute帮你去做拼接
‘‘‘

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读