pymkysql 的操作
时间:2021-07-01 10:21:17
帮助过:9人阅读
1.安装:pip3 insatll pymysql
# 2.代码链接
import pymysql
#链接
conn=
pymysql.connect(
host=
‘localhost‘,
user=
‘root‘,
password=
‘123‘,
database=
‘egon‘,
charset=
‘utf8‘)
#游标
cursor=conn.cursor()
#执行完毕返回的结果集默认以元组显示
#cursor=conn.cursor(cursor=pymysql.cursors.DictCursor) # 以字典的方式显示数据
# 3.pymysql操作数据库
#执行sql语句
user = input(
">>>:").strip()
pwd = input(
">>>:").strip()
sql=
‘select * from userinfo where name="%s" and password="%s"‘ %(user,pwd)
#注意%s需要加引号
rows=cursor.execute(sql)
#执行sql语句,返回sql查询成功的记录数目
# 获取真实数据cursor.fetchone(),cursor.fetchall(),cursor.fetchmany(),类似管道取值,获取一条,所有,多条
cursor.scroll(1,
‘relative‘)
# 相对移动
cursor.scroll(3,
‘absolute‘)
# 绝对移动
cursor.close()
conn.close()
```
#### sql注入问题
```python
# 不要手动去拼接查询的sql语句
username = input(
">>>:").strip()
password = input(
">>>:").strip()
sql =
"select * from user where username=‘%s‘ and password=‘%s‘"%
(username,password)
# 用户名正确
username >>>: jason
‘ -- jjsakfjjdkjjkjs
# 用户名密码都不对的情况
username >>>: xxx
‘ or 1=1 --asdjkdklqwjdjkjasdljad
password >>>:
‘‘
```
#### 增删改
```mysql
# 增
sql =
"insert into user(username,password) values(%s,%s)"
rows = cursor.excute(sql,(
‘jason‘,
‘123‘))
# 修改
sql =
"update user set username=‘jasonDSB‘ where id=1"
rows =
cursor.excute(sql)
"""
增和改单单执行excute并不会真正影响到数据,需要再执行conn.commit()才可以完成真正的增改
"""
# 一次插入多行记录
res =
cursor,excutemany(sql,[(),(),()]
```
pymkysql 的操作
标签:数据 成功 char 返回 引号 bsp commit sdl info