请看下面的完整攻略,分为四部分:
1. 环境准备
在使用 PyMySQL 前,需要先安装Python和PyMySQL模块。安装方法如下:
- 安装Python 3.6
- 在命令行窗口中执行命令
pip3 install PyMySQL
,即可安装PyMySQL模块。
2. 连接MySQL数据库
连接MySQL数据库有两种方式,一种是使用 connect() 方法,一种是使用 Connection 对象。采用 connect() 方法的示例代码如下:
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost",user="root",password="123456",database="testdb")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute() 方法执行 SQL 查询
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取单条数据
data = cursor.fetchone()
print("Database version : %s " % data)
# 关闭数据库连接
db.close()
其中,db
是一个 Connection 对象,cursor()
方法创建一个游标对象cursor
,可以使用该对象执行SQL查询,execute()
方法执行查询,fetchone()
方法获取单条数据,close()
方法关闭数据库连接。
3. 执行SQL语句
执行 SQL 语句即利用游标对象(cursor
),通过 execute() 方法执行 SQL 语句。示例代码如下所示:
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost",user="root",password="123456",database="testdb")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# SQL 查询语句
sql = "SELECT * FROM EMPLOYEE \
WHERE INCOME > '%d'" % (1000)
try:
# 执行SQL语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
fname = row[0]
lname = row[1]
age = row[2]
sex = row[3]
income = row[4]
# 打印结果
print("fname=%s,lname=%s,age=%d,sex=%s,income=%d" % (fname, lname, age, sex, income))
except:
print("Error: unable to fetch data")
# 关闭数据库连接
db.close()
以上代码执行的 SQL 语句为:SELECT * FROM EMPLOYEE WHERE INCOME > '%d'
,结果会输出所有符合条件的记录。
4. 实例演示
下面结合一个具体的案例来演示如何使用Python 3.6和PyMySQL操作MySQL数据库。
示例一
这个案例演示了如何使用 Python 3.6 和 PyMySQL 在 MySQL 数据库中创建表。
import pymysql
# 打开数据库连接
db = pymysql.connect(host='localhost',
user='root',
password='123456',
database='testdb')
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 创建数据表SQL语句
sql = """CREATE TABLE EMPLOYEE (
FIRST_NAME CHAR(20) NOT NULL,
LAST_NAME CHAR(20),
AGE INT,
SEX CHAR(1),
INCOME FLOAT )"""
# 执行SQL语句
cursor.execute(sql)
# 关闭数据库连接
db.close()
以上代码执行的 SQL 语句为:CREATE TABLE EMPLOYEE(FIRST_NAME CHAR(20) NOT NULL, LAST_NAME CHAR(20), AGE INT, SEX CHAR(1), INCOME FLOAT)
,该语句创建了一个名为 EMPLOYEE 的表。
示例二
这个案例演示了如何向 MySQL 数据库中插入数据。
import pymysql
# 打开数据库连接
db = pymysql.connect(host='localhost',
user='root',
password='123456',
database='testdb')
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# SQL 插入语句
sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
LAST_NAME, AGE, SEX, INCOME)
VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""
try:
# 执行sql语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# 如果发生错误则回滚
db.rollback()
# 关闭数据库连接
db.close()
以上代码执行的 SQL 语句为:INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES ('Mac', 'Mohan', 20, 'M', 2000)
,该语句向名为 EMPLOYEE 的表中插入了一条记录。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 3.6 +pyMysql 操作mysql数据库(实例讲解) - Python技术站