MySQLdb、Mysqlclient、PyMySQL、mysql.connector用法总结和比较

前言
在学习python操作Mysql数据库时,发现操作数据库的工具包有很多种,这激发了我的兴趣。在查阅资料的过程程中,我发现,关于这些库的使用,并没有一个系统完整的整理,关于这些库的性能、上手难度的研究,也很少。由此,便有了下面的这篇笔记。

在实操之前,确保自己已经安装好了Mysql,并且开启了Mysql服务。如果要在命令行执行Mysql命令,需要在环境变量中写入bin目录的路径

一.MySQLdb

1.介绍

MySQLdb又叫MySQL-python ,是 Python 连接 MySQL 最流行的一个驱动,很多框架都也是基于此库进行开发,遗憾的是它只支持 Python2.x,而且安装的时候有很多前置条件,因为它是基于C开发的库,在 Windows 平台安装非常不友好,经常出现失败的情况,现在基本不推荐使用,取代的是它的衍生版本。

2.安装

由于本机是python3.7的环境,无法直接安装MySQLdb,因此选择放弃。但可以考虑装 Mysqlclient。

3.使用

资料传送门: https://www.runoob.com/python/python-mysql.html

⚠注意事项⚠

当前建立了一个名为TESTDB的数据库,数据库中有一张名为 EMPLOYEE的 表,字段如下:

FIRST_NAME LAST_NAME AGE SEX INCOME

接数据库TESTDB使用的用户名为 “testuser” ,密码为 “test123”

下面将介绍数据库的几种常见操作,具体包括数据库连接,建表,以及对表中数据的增删改查。

建立数据库连接

import MySQLdb 
# 打开数据库连接 
db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' ) 
# 使用cursor()方法获取操作游标  
cursor = db.cursor() 
# 使用execute方法执行SQL语句 
cursor.execute("SELECT VERSION()") 
# 使用 fetchone() 方法获取一条数据 
data = cursor.fetchone() 
print "Database version : %s " % data 
# 关闭数据库连接 
db.close() 

创建数据库表

import MySQLdb 
# 打开数据库连接 
db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' ) 
# 使用cursor()方法获取操作游标  
cursor = db.cursor() 
# 如果数据表已经存在使用 execute() 方法删除表。 
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE") 
# 创建数据表SQL语句 
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() 

插入数据操作

import MySQLdb 
# 打开数据库连接 
db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' ) 
# 使用cursor()方法获取操作游标  
cursor = db.cursor() 
# SQL 插入语句 
sql = """INSERT INTO EMPLOYEE(FIRST_NAME, 
         LAST_NAME, AGE, SEX, INCOME) 
         VALUES ('Mac', 'Mohan', 20, 'M', 2000)""" 
          
#SQL语句也可以这样写,使用%占位符 
sql = "INSERT INTO EMPLOYEE(FIRST_NAME
  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值