c语言编程笔录

首页 >   > 笔记大全

笔记大全

Python Mysqldb 使用Python操作MySQL数据库的库

更新时间:2023-10-08

Python Mysqldb是什么?

Python Mysqldb是Python程序员使用Python编程语言操作MySQL数据库的一种库。MySQL数据库是非常流行的一种关系型数据库,并被广泛地应用于Web应用程序、移动应用程序、业务应用程序、数据分析等场景。在Python中,Mysqldb提供了一种可靠、简单、直接的方法来与MySQL数据库进行交互。

如何安装Python Mysqldb?

在使用Python Mysqldb之前,需要确保MySQL数据库已经安装在本地计算机或远程服务器中。同时,还需要使用pip工具安装Python Mysqldb库。

pip install mysqlclient

如果您使用的是Python 2.7版本,请使用下面的命令来安装:

pip install MySQL-python

Python Mysqldb的基本使用

Python Mysqldb库提供了一系列的函数和方法,可以用来连接数据库、执行SQL查询、更新和删除数据等操作。

首先需要在Python文件中导入需要的模块:

import MySQLdb

连接MySQL数据库:

db = MySQLdb.connect(host='localhost', user='root', password='123456', db='test', charset='utf8')

执行SQL查询:

cursor = db.cursor()
cursor.execute('SELECT * FROM students')
results = cursor.fetchall()

更新数据:

cursor = db.cursor()
sql = "UPDATE students SET age = age + 1 WHERE sex = 'male'"
try:
    cursor.execute(sql)
    db.commit()
except:
    db.rollback()

删除数据:

cursor = db.cursor()
sql = "DELETE FROM students WHERE age > 18"
try:
    cursor.execute(sql)
    db.commit()
except:
    db.rollback()

Python Mysqldb高级操作

除了基本的操作,Python Mysqldb还提供了更多高级功能,例如事务处理、批量插入数据和使用游标等。

使用事务处理:

try:
    cursor.execute('START TRANSACTION')
    cursor.execute('UPDATE students SET age = age + 1 WHERE sex = 'male'')
    cursor.execute('COMMIT')
except:
    db.rollback()

批量插入数据:

cursor = db.cursor()
sql = "INSERT INTO students(name, age, sex) VALUES (%s, %s, %s)"
data = [('Tom', 18, 'male'), ('Lily', 19, 'female')]
try:
    cursor.executemany(sql, data)
    db.commit()
except:
    db.rollback()

使用游标进行操作:

cursor = db.cursor(MySQLdb.cursors.DictCursor)
sql = "SELECT * FROM students LIMIT 10"
cursor.execute(sql)
results = cursor.fetchall()
for row in results:
    print(row['name'], row['age'], row['sex'])

以上是Python Mysqldb的一些基础和高级操作,希望能够帮助您更好地使用Python Mysqldb操作MySQL数据库。