首页 > 编程 > Python > 正文

使用Python对MySQL数据操作

2020-02-23 04:32:27
字体:
来源:转载
供稿:网友

本文介绍Python3使用PyMySQL连接数据库,并实现简单的增删改查。

什么是PyMySQL?

PyMySQL是Python3.x版本中用于连接MySQL服务器的一个库,Python2.x中则使用mysqldb。

PyMySQL安装

在使用PyMySQL之前,我们需要确保PyMySQL已经安装。

PyMySQL下载地址:https://github.com/PyMySQL/PyMySQL。

如果还未安装,我们可以使用以下命令安装最新版的PyMySQL:

$ pip install PyMySQL

如果你的系统不支持pip命令,可以使用以下方式安装:

1、使用git命令下载安装包安装(你也可以手动下载):

$ git clone https://github.com/PyMySQL/PyMySQL$ cd PyMySQL$ python3 setup.py install

2、如果需要制定版本号,可以使用curl命令来安装:

$ # X.X 为PyMySQL 的版本号$ curl -L https://github.com/PyMySQL/PyMySQL/tarball/pymysql-X.X | tar xz$ cd PyMySQL*$ python3 setup.py install

注意:请确保您有root权限来安装上述模块。

数据库连接

连接数据库前,请先确认以下事项:

您已经创建数据库TESTDB 在TESTDB数据库中您已经创建了表EMPLOYEE EMPLOYEE表字段为FIRST_NAME,LAST_NAME,AGE,SEX和INCOME 连接数据库TESTDB使用的用户名为“testuser”,密码为“test123”,你可以自己设定或者直接使用root用户名及其密码,Mysql数据库用户授权请使用Grant命令 在你的机子上已经安装了PyMySQL模块

实例:

以下实例链接Mysql的TESTDB数据库:

#!/usr/bin/python3__author__ = 'mayi'import pymysql# 打开数据库连接db = pymysql.connect("localhost","testuser","test123","TESTDB" )# 使用 cursor() 方法创建一个游标对象 cursorcursor = db.cursor()# 使用 execute() 方法执行 SQL 查询 cursor.execute("SELECT VERSION()")# 使用 fetchone() 方法获取单条数据.data = cursor.fetchone()print ("Database version : %s " % data)# 关闭数据库连接db.close()

创建数据库表

如果数据库连接存在我们可以使用execute()方法来为数据库创建表,如下所示创建表EMPLOYEE:

#!/usr/bin/python3__author__ = 'mayi'import pymysql# 打开数据库连接db = pymysql.connect("localhost","testuser","test123","TESTDB" )# 使用 cursor() 方法创建一个游标对象 cursorcursor = db.cursor()# 使用 execute() 方法执行 SQL,如果表存在则删除cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")# 使用预处理语句创建表sql = """CREATE TABLE EMPLOYEE ( FIRST_NAME CHAR(20) NOT NULL, LAST_NAME CHAR(20), AGE INT,  SEX CHAR(1), INCOME FLOAT )"""cursor.execute(sql)# 关闭数据库连接db.close()

数据库插入操作

以下实例使用执行SQL Insert语句向表EMPLOYEE插入记录:

#!/usr/bin/python3__author__ = 'mayi'import pymysql# 打开数据库连接db = pymysql.connect("localhost","testuser","test123","TESTDB" )# 使用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()            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表