L
本文给大家讲解下如何使用python操作mysql数据库
一、数据库连接
#conding = utf-8
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="*********", db="testdb", charset='utf8')
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 使用execute方法执行SQL语句
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取一条数据
data = cursor.fetchone()
print("Database version : %s " % data)
# 关闭数据库连接
db.close()
如上代码已经连接到数据库,并且查询了Database version,运行结果如下:
二、创建数据库表
#conding = utf-8
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="bn123456", db="testdb", charset='utf8')
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 如果数据表已经存在使用 execute() 方法删除表。
cursor.execute("DROP TABLE IF EXISTS TEST1")
# 创建数据表SQL语句
sql = """CREATE TABLE TEST1 (
FIRST_NAME CHAR(20) NOT NULL,
LAST_NAME CHAR(20),
AGE INT,
SEX CHAR(1),
INCOME FLOAT )"""
cursor.execute(sql)
# 关闭数据库连接
db.close()
运行结果如下:
上图我们可以看到提示创建成功,我们再通过查询下数据库看下是否创建成功
三、表的增删查改
增:
以下实例使用执行 SQL INSERT 语句向表 test1 插入记录:
#conding = utf-8
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="bn123456", db="testdb", charset='utf8')
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 插入语句
sql = """INSERT INTO TEST1(FIRST_NAME,
LAST_NAME, AGE, SEX, INCOME)
VALUES ('LIU', 'SH', 21, 'M',1997)"""
try:
# 执行sql语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# Rollback in case there is any error
db.rollback()
# 关闭数据库连接
db.close()
运行结果如下:
我们可以通过查询数据库是否插入数据成功
删:
#conding = utf-8
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="bn123456", db="testdb", charset='utf8')
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 插入语句
sql = "delete from test1 where AGE =%d " % (21)
try:
# 执行sql语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# Rollback in case there is any error
db.rollback()
# 关闭数据库连接
db.close()
运行结果如下:
我们再通过查询下数据库表,可以看到上面增加的那条信息已经被删除了
查:
# coding=utf-8
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="bn123456", db="testdb", charset='utf8')
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 查询语句
sql = "SELECT * FROM test1"
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=%s" % \
(fname, lname, age, sex, income ))
except:
print("Error: unable to fecth data")
# 关闭数据库连接
db.close()
我们运行下结果,可以看到已经把需要的信息查询出来了:
我们再通过mysql命令查询下数据库表,看看是否一致
改:
#coding = utf-8
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="bn123456", db="testdb", charset='utf8')
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 更新语句
sql = "UPDATE test1 SET AGE = 10 WHERE LAST_NAME = 'SH'"
try:
# 执行SQL语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# 发生错误时回滚
db.rollback()
# 关闭数据库连接
db.close()
我们运行一下脚本,查看结果如下:
我们通过mysql命令查询下,看看是否一致
如上给大家讲解了如何使用python操作数据库,更多知识的学习还需要大家多多去实践,感谢阅读!