pymysql模块

 

一、创建连接库

1.建立游标

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

 

2.查看内容

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

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

 

3.移动游标

cursor.scroll(3,'absolute')  # 以这个绝对位置为起点,开始取值(注意:这个位置并不取值,下面打印开始取值)

cursor.scroll(2,'relative')  # 相对位置 前面取了两位,这里就直接跳过两位数,从后面开始取

 

4.增删改操作

 

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

 

5.完整版

import pymysql

conn = pymysql.connect(
    host = '127.0.0.1',
    port = 3306,
    user = 'root',
    password = '123',
    database = 'day38',
    charset = 'utf8'  # 编码千万不要加- 如果写成了utf-8会直接报错
autocommit = True  # 这个参数配置完成后  增删改操作都不需要在手动加conn.commit了
)

cursor
= conn.cursor(pymysql.cursors.DictCursor) # 产生一个游标对象 以字典的形式返回查询出来的数据 键是表的字段 值是表的字段对应的信息 sql = 'select * from teacher' cursor.execute(sql) # 执行传入的sql语句 print(cursor.fetchone()) # 只获取一条数据 print(cursor.fetchone()) cursor.scroll(3,'absolute') # 以这个绝对位置为起点,开始取值(注意:这个位置并不取值,下面打印开始取值) # cursor.scroll(2,'relative') # 相对位置 前面取了两位,这里就直接跳过两位数 print(cursor.fetchall()) # 获取所有的数据,返回的结果是一个列表

 

二、sql注入问题

 

import pymysql

conn = pymysql.connect(
    host = '127.0.0.1',
    port = '3306',
    user = 'root',
    password = '123',
    database = 'day38',
    charset = 'utf8',
    autocommit = True
)

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

username = input('<<<:')
password = input('<<<:') 

sql = 'select * from user where name = %s and password = %s'
print(sql)
res = cursor.execute(sql,(username,password))  # 能够帮你自动过滤特殊符号 避免sql注入的问题  
  #execute 能够自动识别sql语句中的%s 帮你做替换
if res:
    print(cursor.fetchall())
else:
    print('密码错误')

 

posted @ 2019-08-22 19:44  小青年て  阅读(123)  评论(0编辑  收藏  举报