PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。
Django中也可以使用PyMySQL连接MySQL数据库。
PyMySQL安装
安装命令:pip install pymysql
pip install pymysql # 或者使用 pip3 install pymysql
'''
pip和pip3的区别
1、其实这两个命令效果是一样的,没有区别:
(1)比如安装库numpy,pip3 install numpy或者pip install numpy:只是当一台电脑同时有多个版本的Python的时候,用pip3就可以自动区分用Python3来安装库。是为了避免和Python2发生冲突的。
(2)如果你的电脑只安装了Python3,那么不管用pip还是pip3都一样的。
2、安装了python3之后,会有pip3
(1)使用pip install XXX :
新安装的库会放在这个目录下面:python2.7/site-packages;
(2)使用pip3 install XXX :
新安装的库会放在这个目录下面:python3.6/site-packages;
(3)如果使用python3执行程序,那么就不能import python2.7/site-packages中的库。
'''
安装结果:
PyMySQL连接数据库
连接准备
在进行本文以下内容之前需要注意:
你有一个MySQL数据库,并且已经启动。
你有可以连接该数据库的用户名和密码
你有一个有权限操作的database
开始连接
连接程序如下:
import pymysql
user = input("请输入用户名:")
pwd = input("请输入密码:")
conn = pymysql.connect( # 创建链接
host='127.0.0.1',
user='root',
password='root',
database='mydb57',
charset='utf8'
)
#创建游标
cur = conn.cursor()
# 存在SQL注入
# sql = "select * from userinfo where name='%s' and pwd='%s'" %(user, pwd) #这样写会存在SQL注入的问题
# print('查询语句是:', sql)
# res = cur.execute(sql) #这样写会存在SQL注入的问题
# 解决了SQL注入的问题
sql = "select * from userinfo where name=%s and pwd=%s"
print('查询语句是:', sql)
res = cur.execute(sql, [user, pwd]) # user, pwd使用元组和列表都可以
print('res的值是:{}'.format(res))
if res:
print('--------------------登录成功-------------------')
else:
print("--------------------登录失败了--------------------")
cur.close()
conn.close()
增删改查操作
利用pyMySQL操作MySQL数据库进行增删改查等操作详细学习请
点击
。
pycharm视图化操作mysql
\
如果报错""
Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually.
在
Advanced
中将
serverTimezone
设置成
Hongkong
即可
问题的根源是时区错误:
时区错误,MySQL默认的时区是UTC时区,比北京时间晚
8
个小时。
所以要修改mysql的时长
在mysql的命令模式下,输入:
set global time_zone='+8:00';
但是我发现执行命令还是未能更改时区 还是无法连接