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(\'账号或密码错误,请重新输入!\')