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

分类:

技术点:

相关文章: