**
**
**
**
**
1、什么是 PyMySQL?
PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。
2、PyMySQL 安装
方式一: import pymysql
方式二:点击file—setting——project—project Interpreter——点击+——搜索pymysql
点击安装
图片
**
**
1、链接数据库
准备工作:
实例:
import pymysql
#``打开数据库
db = pymysql.connect("localhost","testuser","test123","TESTDB" )
# 使用 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.18-txsql-log
2、创建数据库表
实例
#!/usr/bin/python3
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute() 方法执行 SQL,如果表存在则删除
cursor.execute("DROP TABLE IF EXISTS testA")
# 使用预处理语句创建表
sql = "CREATE TABLE testA (
name CHAR(20) NOT NULL,
class CHAR(20),
age INT,
sex CHAR(1) )"
cursor.execute(sql)
# 关闭数据库连接
db.close()
3、插入数据
实例
#!/usr/bin/python3
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 插入语句
sql = "INSERT INTO testA(name,
AGE, SEX, class)
VALUES ('Mac', 20, '男', “三年二班”)"
try:
# 执行sql语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# 如果发生错误则回滚
db.rollback()
# 关闭数据库连接
db.close()
3、查询
Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。
查询testA表中fname字段等于Mac的所有数据:
实例
#!/usr/bin/python3
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 查询语句
sql = "SELECT * FROM testA WHERE name=Mac”
try:
# 执行SQL语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
name = row[0]
class = row[1]
age = row[2]
sex = row[3]
# 打印结果
print ("name=%s,class=%s,age=%s,sex=%s" % \
(name, class, age, sex))
except:
print ("Error: unable to fetch data")
# 关闭数据库连接
db.close()
以上脚本执行结果如下:
name=Mac, class=三年二班, age=20, sex=男
4、更新数据
更新操作用于更新数据表的的数据,以下实例将 TESTA 表中 SEX 为 ‘M’ 的 AGE 字段递增 1:
实例
#!/usr/bin/python3
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 更新语句
sql = "UPDATE testA SET age = age+ 1 WHERE sex = '%c'" % ('M')
try:
# 执行SQL语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# 发生错误时回滚
db.rollback()
# 关闭数据库连接
db.close()
5、删除数据
删除操作用于删除数据表中的数据,以下实例演示了删除数据表 testA 中 AGE 大于 20 的所有数据:
实例
#!/usr/bin/python3
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 删除语句
sql = "DELETE FROM testA WHERE age>20”
try:
# 执行SQL语句
cursor.execute(sql)
# 提交修改
db.commit()
except:
# 发生错误时回滚
db.rollback()
# 关闭连接
db.close()
参考链接:https://www.runoob.com/python3/python3-mysql.html