PyMySQL是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中是使用mysqldb。
如果要连接请先去cmd里下载:pip3 install pymysql。如在cmd里下载完发现pycharm里面无法使用,先去setting里面更改具体请去查看百度。
成功使用后的链接步骤
- import pymysql
- conn=pymysql.connect(
host=‘数据库的地址,如果为私人使用可以写入127.0.0.1’,
port=‘数据库的端口,如果为私人使用可以写入3306’,
user=‘数据库账号,未更改的话一般为root’,
password=‘数据库密码’,
charset=‘编码方式一般为utf8’
) - cursor=conn.cursor() 执行SQL语句的光标对象(返回结果为元组形式)
cursor=conn.cursor(cursor=pymysql.cursors.DictCursor) 执行SQL语句的光标对象(返回结果为字典形式) - sql=‘能在sql里面执行的命令’
- res=cursor.execute(sql) 执行sql语句,并得到返回值
- cursor.close() 关闭光标
- conn.close() 关闭数据库连接
注:往sql输入命令时需注意
import pymysql
conn = pymysql.connect(
host = '127.0.0.1',
port = 3306,
user = 'root',
password = '123456',
database = 'day48',
charset = 'utf8' # 编码千万不要加-
) # 链接数据库
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
username = input('>>>:')
password = input('>>>:')
sql = "select * from user where name=%s and password=%s"
# 不要手动拼接数据 先用%s占位 之后将需要拼接的数据直接交给execute方法即可
print(sql)
rows = cursor.execute(sql,(username,password)) # 自动识别sql里面的%s用后面元组里面的数据替换
if rows:
print('登录成功')
print(cursor.fetchall())
else:
print('用户名密码错误')
如果直接将输入的值放入sql执行语句里面,那么很容易会被人攻破