安装
在进行这个操作之前需要安装好python3 以及mysql
环境
CentOS 7
Python 3.7.1 mysql Ver 14.14 Distrib 5.6.48
pip3 install pymysql
数据库连接
连接数据库前,我们需先完成下面
- 已经创建我们所需的数据库
- 创建表
- 已经安装python mysqldb模块
eg:
准备工作
mysql中已创建root这个用户并且密码为root,并创建了ZST这个数据库
- 连接
import pymysql
#打开数据库连接
db=pymysql.connect("localhost","root","root","zst")
#使用cursor()方法创建一个游标对象cursor
cursor=db.cursor()
#使用execute()方法执行SQL查询
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()
print ("Database version : %s " % data)
# 关闭数据库连接
db.close()
- 创建数据表
import pymysql
db=pymysql.connect("localhost","root","root","zst")
#使用cursor()方法创建一个游标cursor
cursor=db.cursor()
#使用execute()方法执行SQL语句,如果表存在则删除
cursor.execute('DROP TABLE IF EXISTS zst')
#使用sql语句创建表
sql = """CREATE TABLE zst (
FIRST_NAME CHAR(20) NOT NULL,
AGE INT,
SEX CHAR(1),
INCOME FLOAT )"""
#执行sql
cursor.execute(sql)
#关闭数据库连接
db.close()
数据库插入操作
#数据库连接同上
#使用cursor()方法创建游标对象cursor
cursor=db.cursor
#sql插入语句
sql = """INSERT INTO zst(FIRST_NAME,
AGE, SEX, INCOME)
VALUES ('zst', 20, 'M', 2000)"""
try:
#执行sql语句
cursor.execute(sql)
#提交数据到数据库
db.commit()
except:
#发生错误回滚
db.rollback()
db.close()
# SQL 更新语句zst 表中 SEX 为 'M' 的 AGE 字段递增 1
sql = "UPDATE zst SET AGE = AGE + 1 WHERE SEX = '%c'" % ('M')
# SQL 删除语句,删除数据表 zst 中 AGE 大于 20 的所有数据
sql = "DELETE FROM zst WHERE AGE > %s" % (20)
# 获取所有记录列表
results = cursor.fetchall()
参考文献:https://www.runoob.com/python3/python3-mysql.html