最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

三种Python操作MySQL数据库的方法

来源:懂视网 责编:小OO 时间:2020-11-27 14:22:23
文档

三种Python操作MySQL数据库的方法

这篇文章主要介绍了三种Python操作MySQL数据库的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧。1.MySQLdb 的使用。(1) 什么是MySQLdb。? MySQLdb 是用于 Python 连接 MySQL 数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的。(2) 源码安装 MySQLdb: https://pypi.python.org/pypi/MySQL-python。$ tar zxvf MySQL-python-*.tar.gz$ cd MySQL-python-*$ python setup.py build$ python setup.py install。
推荐度:
导读这篇文章主要介绍了三种Python操作MySQL数据库的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧。1.MySQLdb 的使用。(1) 什么是MySQLdb。? MySQLdb 是用于 Python 连接 MySQL 数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的。(2) 源码安装 MySQLdb: https://pypi.python.org/pypi/MySQL-python。$ tar zxvf MySQL-python-*.tar.gz$ cd MySQL-python-*$ python setup.py build$ python setup.py install。

这篇文章主要介绍了三种Python操作MySQL数据库的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

1. MySQLdb 的使用

(1) 什么是MySQLdb?

? MySQLdb 是用于 Python 连接 MySQL 数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的。

(2) 源码安装 MySQLdb: https://pypi.python.org/pypi/MySQL-python

$ tar zxvf MySQL-python-*.tar.gz
$ cd MySQL-python-*
$ python setup.py build
$ python setup.py install

(3) MySQLdb 的使用:

#!/usr/bin/env python
# coding=utf-8

import MySQLdbdef connectdb():
 print('连接到mysql服务器...') 
 # 打开数据库连接
 # 用户名:hp, 密码:Hp12345.,用户名和密码需要改成你自己的mysql用户名和密码,并且要创建数据库TESTDB,并在TESTDB数据库中创建好表Student
 db = MySQLdb.connect("localhost","hp","Hp12345.","TESTDB")
 print('连接上了!') 
 return db
 
def createtable(db):
 # 使用cursor()方法获取操作游标 
 cursor = db.cursor() 
 
 # 如果存在表Sutdent先删除
 cursor.execute("DROP TABLE IF EXISTS Student")
 sql = """CREATE TABLE Student (
 ID CHAR(10) NOT NULL,
 Name CHAR(8),
 Grade INT )"""

 # 创建Sutdent表
 cursor.execute(sql)
 
def insertdb(db):
 # 使用cursor()方法获取操作游标 
 cursor = db.cursor() 
 
 # SQL 插入语句
 sql = """INSERT INTO Student
 VALUES ('001', 'CZQ', 70),
 ('002', 'LHQ', 80),
 ('003', 'MQ', 90),
 ('004', 'WH', 80),
 ('005', 'HP', 70),
 ('006', 'YF', 66),
 ('007', 'TEST', 100)"""

 #sql = "INSERT INTO Student(ID, Name, Grade) 
 # VALUES ('%s', '%s', '%d')" % 
 # ('001', 'HP', 60)
 try: # 执行sql语句
 cursor.execute(sql) # 提交到数据库执行
 db.commit() except: # Rollback in case there is any error
 print '插入数据失败!'
 db.rollback()def querydb(db):
 # 使用cursor()方法获取操作游标 
 cursor = db.cursor() 
 # SQL 查询语句
 #sql = "SELECT * FROM Student 
 # WHERE Grade > '%d'" % (80)
 sql = "SELECT * FROM Student"
 try: 
 # 执行SQL语句
 cursor.execute(sql) 
 # 获取所有记录列表
 results = cursor.fetchall() 
 for row in results:
 ID = row[0]
 Name = row[1]
 Grade = row[2] # 打印结果
 print "ID: %s, Name: %s, Grade: %d" % 
 (ID, Name, Grade) 
 except: print "Error: unable to fecth data"def deletedb(db):
 # 使用cursor()方法获取操作游标 
 cursor = db.cursor() # SQL 删除语句
 sql = "DELETE FROM Student WHERE Grade = '%d'" % (100) try: # 执行SQL语句
 cursor.execute(sql) # 提交修改
 db.commit() except: print '删除数据失败!'
 # 发生错误时回滚
 db.rollback()def updatedb(db):
 # 使用cursor()方法获取操作游标 
 cursor = db.cursor() # SQL 更新语句
 sql = "UPDATE Student SET Grade = Grade + 3 WHERE ID = '%s'" % ('003') try: # 执行SQL语句
 cursor.execute(sql) # 提交到数据库执行
 db.commit() except: print '更新数据失败!'
 # 发生错误时回滚
 db.rollback()def closedb(db):
 db.close()def main():
 db = connectdb() # 连接MySQL数据库

 createtable(db) # 创建表
 insertdb(db) # 插入数据
 print '
插入数据后:'
 querydb(db) 
 deletedb(db) # 删除数据
 print '
删除数据后:'
 querydb(db)
 updatedb(db) # 更新数据
 print '
更新数据后:'
 querydb(db)

 closedb(db) # 关闭数据库if __name__ == '__main__':
 main()

运行结果:

这里写图片描述

2. PyMySQL 的使用

(1) 什么是 PyMySQL?

? PyMySQL 是 Python 中用于连接 MySQL 服务器的一个库,它遵循 Python 数据库 API 规范 V2.0,并包含了 pure-Python MySQL 客户端库。

(2) 安装 PyMysql:

pip install PyMysql

(3) 使用 PyMySQL:

#!/usr/bin/env python# coding=utf-8import pymysqldef connectdb():
 print('连接到mysql服务器...') # 打开数据库连接
 # 用户名:hp, 密码:Hp12345.,用户名和密码需要改成你自己的mysql用户名和密码,并且要创建数据库TESTDB,并在TESTDB数据库中创建好表Student
 db = pymysql.connect("localhost","hp","Hp12345.","TESTDB")
 print('连接上了!') return dbdef createtable(db):
 # 使用cursor()方法获取操作游标 
 cursor = db.cursor() # 如果存在表Sutdent先删除
 cursor.execute("DROP TABLE IF EXISTS Student")
 sql = """CREATE TABLE Student (
 ID CHAR(10) NOT NULL,
 Name CHAR(8),
 Grade INT )"""

 # 创建Sutdent表
 cursor.execute(sql)def insertdb(db):
 # 使用cursor()方法获取操作游标 
 cursor = db.cursor() # SQL 插入语句
 sql = """INSERT INTO Student
 VALUES ('001', 'CZQ', 70),
 ('002', 'LHQ', 80),
 ('003', 'MQ', 90),
 ('004', 'WH', 80),
 ('005', 'HP', 70),
 ('006', 'YF', 66),
 ('007', 'TEST', 100)"""

 #sql = "INSERT INTO Student(ID, Name, Grade) 
 # VALUES ('%s', '%s', '%d')" % 
 # ('001', 'HP', 60)
 try: # 执行sql语句
 cursor.execute(sql) # 提交到数据库执行
 db.commit() except: # Rollback in case there is any error
 print '插入数据失败!'
 db.rollback()def querydb(db):
 # 使用cursor()方法获取操作游标 
 cursor = db.cursor() # SQL 查询语句
 #sql = "SELECT * FROM Student 
 # WHERE Grade > '%d'" % (80)
 sql = "SELECT * FROM Student"
 try: # 执行SQL语句
 cursor.execute(sql) # 获取所有记录列表
 results = cursor.fetchall() for row in results:
 ID = row[0]
 Name = row[1]
 Grade = row[2] # 打印结果
 print "ID: %s, Name: %s, Grade: %d" % 
 (ID, Name, Grade) except: print "Error: unable to fecth data"def deletedb(db):
 # 使用cursor()方法获取操作游标 
 cursor = db.cursor() # SQL 删除语句
 sql = "DELETE FROM Student WHERE Grade = '%d'" % (100) try: # 执行SQL语句
 cursor.execute(sql) # 提交修改
 db.commit() except: print '删除数据失败!'
 # 发生错误时回滚
 db.rollback()def updatedb(db):
 # 使用cursor()方法获取操作游标 
 cursor = db.cursor() # SQL 更新语句
 sql = "UPDATE Student SET Grade = Grade + 3 WHERE ID = '%s'" % ('003') try: # 执行SQL语句
 cursor.execute(sql) # 提交到数据库执行
 db.commit() except: print '更新数据失败!'
 # 发生错误时回滚
 db.rollback()def closedb(db):
 db.close()def main():
 db = connectdb() # 连接MySQL数据库

 createtable(db) # 创建表
 insertdb(db) # 插入数据
 print '
插入数据后:'
 querydb(db) 
 deletedb(db) # 删除数据
 print '
删除数据后:'
 querydb(db)
 updatedb(db) # 更新数据
 print '
更新数据后:'
 querydb(db)

 closedb(db) # 关闭数据库if __name__ == '__main__':
 main()

运行结果:

这里写图片描述

3. mysql.connector 的使用

(1) 什么是 mysql.connector?

? 由于 MySQL 服务器以独立的进程运行,并通过网络对外服务,所以,需要支持 Python 的 MySQL 驱动来连接到 MySQL 服务器。

目前,有两个 MySQL 驱动:

mysql-connector-python:是 MySQL 官方的纯 Python 驱动;

MySQL-python :是封装了 MySQL C驱动的 Python 驱动。

(2) 安装 mysql.connector:

pip install mysql-connector-pythonpip install MySQL-python

(3) 使用 mysql.connector:

#!/usr/bin/env python# coding=utf-8import mysql.connectordef connectdb():
 print('连接到mysql服务器...') # 打开数据库连接
 # 用户名:hp, 密码:Hp12345.,用户名和密码需要改成你自己的mysql用户名和密码,并且要创建数据库TESTDB,并在TESTDB数据库中创建好表Student
 db = mysql.connector.connect(user="hp", passwd="Hp12345.", database="TESTDB", use_unicode=True)
 print('连接上了!') return dbdef createtable(db):
 # 使用cursor()方法获取操作游标 
 cursor = db.cursor() # 如果存在表Sutdent先删除
 cursor.execute("DROP TABLE IF EXISTS Student")
 sql = """CREATE TABLE Student (
 ID CHAR(10) NOT NULL,
 Name CHAR(8),
 Grade INT )"""

 # 创建Sutdent表
 cursor.execute(sql)def insertdb(db):
 # 使用cursor()方法获取操作游标 
 cursor = db.cursor() # SQL 插入语句
 sql = """INSERT INTO Student
 VALUES ('001', 'CZQ', 70),
 ('002', 'LHQ', 80),
 ('003', 'MQ', 90),
 ('004', 'WH', 80),
 ('005', 'HP', 70),
 ('006', 'YF', 66),
 ('007', 'TEST', 100)"""

 #sql = "INSERT INTO Student(ID, Name, Grade) 
 # VALUES ('%s', '%s', '%d')" % 
 # ('001', 'HP', 60)
 try: # 执行sql语句
 cursor.execute(sql) # 提交到数据库执行
 db.commit() except: # Rollback in case there is any error
 print '插入数据失败!'
 db.rollback()def querydb(db):
 # 使用cursor()方法获取操作游标 
 cursor = db.cursor() # SQL 查询语句
 #sql = "SELECT * FROM Student 
 # WHERE Grade > '%d'" % (80)
 sql = "SELECT * FROM Student"
 try: # 执行SQL语句
 cursor.execute(sql) # 获取所有记录列表
 results = cursor.fetchall() for row in results:
 ID = row[0]
 Name = row[1]
 Grade = row[2] # 打印结果
 print "ID: %s, Name: %s, Grade: %d" % 
 (ID, Name, Grade) except: print "Error: unable to fecth data"def deletedb(db):
 # 使用cursor()方法获取操作游标 
 cursor = db.cursor() # SQL 删除语句
 sql = "DELETE FROM Student WHERE Grade = '%d'" % (100) try: # 执行SQL语句
 cursor.execute(sql) # 提交修改
 db.commit() except: print '删除数据失败!'
 # 发生错误时回滚
 db.rollback()def updatedb(db):
 # 使用cursor()方法获取操作游标 
 cursor = db.cursor() # SQL 更新语句
 sql = "UPDATE Student SET Grade = Grade + 3 WHERE ID = '%s'" % ('003') try: # 执行SQL语句
 cursor.execute(sql) # 提交到数据库执行
 db.commit() except: print '更新数据失败!'
 # 发生错误时回滚
 db.rollback()def closedb(db):
 db.close()def main():
 db = connectdb() # 连接MySQL数据库

 createtable(db) # 创建表
 insertdb(db) # 插入数据
 print '
插入数据后:'
 querydb(db) 
 deletedb(db) # 删除数据
 print '
删除数据后:'
 querydb(db)
 updatedb(db) # 更新数据
 print '
更新数据后:'
 querydb(db)

 closedb(db) # 关闭数据库if __name__ == '__main__':
 main()

运行结果:

这里写图片描述

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

三种Python操作MySQL数据库的方法

这篇文章主要介绍了三种Python操作MySQL数据库的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧。1.MySQLdb 的使用。(1) 什么是MySQLdb。? MySQLdb 是用于 Python 连接 MySQL 数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的。(2) 源码安装 MySQLdb: https://pypi.python.org/pypi/MySQL-python。$ tar zxvf MySQL-python-*.tar.gz$ cd MySQL-python-*$ python setup.py build$ python setup.py install。
推荐度:
标签: 操作 数据库 方式
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top