一、创建连接库
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('密码错误')