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中的库。 '''

安装结果:

py 做 mysql 数据库结构对比 mysql和pymysql的区别_sql

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

 

\

py 做 mysql 数据库结构对比 mysql和pymysql的区别_MySQL_02

如果报错如下:

Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually.

Advanced中将serverTimezone设置成Hongkong即可


 

以上问题问题的根源是时区错误:

时区错误,MySQL默认的时区是UTC时区,比北京时间晚8个小时。

所以要修改mysql的时长

进入命令窗口(Win + R),连接数据库 mysql -hlocalhost -uroot -p,回车,输入密码,回车,如图:

继续输入 show variables like'%time_zone';    (注意不要漏掉后面的分号),回车,如图:

py 做 mysql 数据库结构对比 mysql和pymysql的区别_mysql_03

显示 SYSTEM 就是没有设置时区

现在我们来设置时区。

输入set global time_zone = '+8:00';  注意不要漏掉后面的分号),回车,如图:

py 做 mysql 数据库结构对比 mysql和pymysql的区别_mysql_04

这便是设置成功啦!

这时你重新连接下数据库,也许能连接成功!如果没有,就继续往下走!