前言
在学习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, \
LAST_NAME, AGE, SEX, INCOME) \
VALUES (%s, %s, %s, %s, %s )" % \
('Mac', 'Mohan', 20, 'M', 2000)
try: