MySQL数据库~~~~pymysql 连接 MySQL的客户端

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('账号或密码错误,请重新输入!')
posted on 2019-12-04 20:24  Lav3nder  阅读(404)  评论(0编辑  收藏  举报