什么是 PyMySQL?
PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。
PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。
安装PyMySQL
C:\Users\liqiang>e: E:\>cd E:\pythonWorkSpace\FirstProject\venv\Scripts E:\pythonWorkSpace\FirstProject\venv\Scripts>pip3 install PyMySQL
1. 连接数据库插卡可能版本
#!/usr/bin/python3 import pymysql # 打开数据库连接 db = pymysql.connect("localhost", "root", "123456", "pycraw") # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # 使用 execute() 方法执行 SQL 查询 cursor.execute("SELECT VERSION()") # 使用 fetchone() 方法获取单条数据. data = cursor.fetchone() print("Database version : %s " % data) # 关闭数据库连接 db.close()
结果:
Database version : 5.7.10-log
2.数据库进行插入操作
#!/usr/bin/python3 import pymysql # 打开数据库连接 db = pymysql.connect("localhost", "root", "123456", "pycraw") # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 插入语句 sql = "INSERT INTO user" "(id, name ) VALUES (%s, ‘%s‘)" % (3, ‘Mac‘) try: # 执行sql语句 cursor.execute(sql) # 执行sql语句 db.commit() except: # 发生错误时回滚 db.rollback() # 关闭数据库连接 db.close()
3. 数据库查询操作
Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。
fetchone(): 该方法获取下一个查询结果集。结果集是一个对象。fetchone()函数它的返回值是单个的元组,也就是一行记录,如果没有结果,那就会返回null。
fetchall(): 接收全部的返回结果行。fetchall()函数,它的返回值是多个元组,即返回多个行记录,如果没有结果,返回的是()。
rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。
(1)查询ID等于1的数据
#!/usr/bin/python3 import pymysql # 打开数据库连接 db = pymysql.connect("localhost", "root", "123456", "pycraw") # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 查询语句 sql = "SELECT * FROM user WHERE id = %s" % (1) try: # 执行SQL语句 cursor.execute(sql) # 获取所有记录列表 results = cursor.fetchone() # 打印结果 print("id=%s,name=%s" % (results[0], results[1])) except: print("Error: unable to fetch data") # 关闭数据库连接 db.close()
结果:
id=1,name=zhangsan
(2)查询ID大于1的数据
#!/usr/bin/python3 import pymysql # 打开数据库连接 db = pymysql.connect("localhost", "root", "123456", "pycraw") # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 查询语句 sql = "SELECT * FROM user WHERE id > %s" % (1) try: # 执行SQL语句 cursor.execute(sql) # 获取所有记录列表 results = cursor.fetchall() for row in results: id = row[0] name = row[1] # 打印结果 print("id=%s,name=%s" % (id, name)) total = cursor.rowcount print("总数: %s" % (total)) except: print("Error: unable to fetch data") # 关闭数据库连接 db.close()
结果:
id=2,name=lisi
id=3,name=Mac
4. 执行修改操作:
#!/usr/bin/python3 import pymysql # 打开数据库连接 db = pymysql.connect("localhost", "root", "123456", "pycraw") # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 查询语句 sql = "UPDATE user SET name = ‘%s‘ WHERE id = %s" % (‘wangwu‘, 3) try: # 执行SQL语句 cursor.execute(sql) # 提交到数据库执行 db.commit() except: # 发生错误时回滚 db.rollback() # 关闭数据库连接 db.close()
5.删除操作
#!/usr/bin/python3 import pymysql # 打开数据库连接 db = pymysql.connect("localhost", "root", "123456", "pycraw") # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 查询语句 sql = "delete from user WHERE id = %s" % ( 3) try: # 执行SQL语句 cursor.execute(sql) # 提交到数据库执行 db.commit() except: # 发生错误时回滚 db.rollback() # 关闭数据库连接 db.close()
mysql-connector 是 MySQL 官方提供的驱动器。我们可以使用 pip 命令来安装 mysql-connector:
python -m pip install mysql-connector
第一种: 检测是否安装成功:
import mysql.connector
执行以上代码,如果没有产生错误,表明安装成功。
第二种验证方式:查看模块 (pip list 可以查看python安装的模块)
C:\Users\Administrator>pip list | findstr mysql
mysql-connector 2.2.9
1.连接数据库查看版本:
import mysql.connector # 打开数据库连接 db = mysql.connector.connect( host="localhost", # 数据库主机地址 user="root", # 数据库用户名 passwd="123456" # 数据库密码 ) # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # 使用 execute() 方法执行 SQL 查询 cursor.execute("SELECT VERSION()") # 使用 fetchone() 方法获取单条数据. data = cursor.fetchone() print("Database version : %s " % data) # 关闭数据库连接 db.close()
结果:
Database version : 5.7.10-log
2. 连接到mysql指定的库:
import mysql.connector # 打开数据库连接 db = mysql.connector.connect( host="localhost", # 数据库主机地址 user="root", # 数据库用户名 passwd="123456", # 数据库密码 database="Exam9" # 链接指定的库,库不存在会报错 ) # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # 使用 execute() 方法执行 SQL 查询 cursor.execute("SELECT VERSION()") # 使用 fetchone() 方法获取单条数据. data = cursor.fetchone() print("Database version : %s " % data) # 关闭数据库连接 db.close()
补充:手动安装模块pymysql
模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。(模块类似于Java的class文件)
(1)到git上下载对应模块: (一般模块都能找到)
https://github.com/PyMySQL/PyMySQL
(2)解压之后,进入到目录下面 会有setup.py
(3) 进行安装:
Administrator@MicroWin10-1535 MINGW64 ~/Desktop/pytest/新建文件夹/新建文件夹/PyMySQL-0.9.3
$ pip setup.py install
(4)测试: 引入模块不报错即安装成功
import pymysql
原文:https://www.cnblogs.com/qlqwjy/p/11564736.html