import pymysql
conn = pymysql.connect(
host = '127.0.0.1', # 主机
port = 3306, # 端口号
user = 'root', # 用户名
password = '123', # 密码
database = 'db1', # 需要连接的库
charset = 'utf8')
cursor = conn.cursor(pymysql.cursors.DictCursor)
# 默认游标取出的数据结构是((),(),)
# DictCursor 对应的数据结构是[{},{},],如果用的是fetchone,那么结果是{}.
sql = 'select * from t1;'
ret = cursor.execute(sql) # ret 受影响的行数
print(ret)
print(cursor.fetchall()) # 查询所有数据
print(cursor.fetchone()) # 查询一条数据
print(cursor.fetchmany(2)) # 查询多条数据,不写参数默认一条
cursor.scroll(2,'absolute') # 绝对移动光标,相对于数据最开始的位置进行光标的移动
cursor.scroll(2,'relative') # 相对移动光标,按照光标当前位置来进行光标的移动
sql = 'insert into t1 values(1,"liky");'
conn.commit() # 增删改都必须进行提交操作commit
import pymysql
conn = pymysql.connct(
host = '127.0.0.1', # 主机
port = 3306, # 端口号
user = 'root', # 用户名
password = '123', # 密码
database = 'db1', # 需要连接的库
charset = 'utf8')
while 1:
username = input('请输入用户名:')
password = input('请输入密码:')
cursor = conn.cursor(pymysql.cursors.DictCursor)
sql = "select * from userinfo where username = '%s' and password = '%s';"%(username,password)
#这样写如果在不知道用户名和密码的情况下,用户名输入'liky--空格,就会登录成功;如果知道用户名不知道密码的情况下,用户名输入'liky--空格也会登陆,sql语句中 --空格 是注释的意思.
#解决sql注入问题:
sql = "select * from userinfo where username = %s and password = %s;"
ret = cursor.execute(sql,[username,password])
if ret:
print('登陆成功!')
break
else:
print('账号或密码错误,请重新输入!')