引言
python 3.x版本中连接MySQL数据库使用第三方库PyMySQL;
python 2.x版本中连接MySQL数据库使用第三方库mysqldb;
PyMySQL安装
PyMySQL下载地址:https://github.com/PyMySQL/PyMySQL
1、cmd命令下
pip3 install PyMySQL -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
使用豆瓣镜像源加快第三方库的安装速度。
2、git命令下
git clone https://github.com/PyMySQL/PyMySQL
cd PyMySQL/
python3 setup.py install
MySQL数据库连接
1、连接mysql,显示mysql版本
import pymysql
#打开数据库连接
db = pymysql.connect('localhost','root','password','mysql')
#创建游标对象
cursor = db.cursor()
#使用execute()方法执行sql语句
cursor.execute('select version()')
#fetchone()方法获取返回对象的单条数据
data = cursor.fetchone()
print('Database version:{0}'.format(data))
#关闭数据库连接
db.close()
2、创建表,往表中插入语句
import pymysql
#打开数据库连接
db = pymysql.connect('localhost','root','password','mysql')
#创建游标对象
cursor = db.cursor()
#sql预处理语句之创建表格
sql = """CREATE TABLE EMPLOYEE ( NAME CHAR(20), AGE INT, SEX CHAR(1), INCOME FLOAT )"""
cursor.execute(sql)
#sql预处理语句之往表格中插入数据
sql = """INSERT INTO EMPLOYEE(NAME, AGE, SEX, INCOME) VALUES ('KING', 20, 'M', 5000)"""
cursor.execute(sql)
#提交到数据库执行,代表一个事务的结束
db.commit()
#关闭数据库
db.close()
3、查询操作
Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取全部返回对象。
import pymysql
#打开数据库连接
db = pymysql.connect('localhost','root','password','mysql')
#创建游标对象
cursor = db.cursor()
# Sql预处理语句之选择收入超过1000的记录
sql = """SELECT * FROM EMPLOYEE \ WHERE INCOME > 1000"""
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
for i in results:
name = i[0]
age = i[1]
sex = i[2]
income = [3]
print('name={0},age={1},sex={2},income={3}'.format(name,age,sex,income))
db.close()