Python2 MySQL Module安装及使用指南

MySQL是一种流行的关系型数据库管理系统,而Python是一种强大的编程语言,两者的结合可以实现高效的数据存储和查询。为了在Python2中使用MySQL,我们需要安装相应的MySQL模块。本文将详细介绍如何安装和使用Python2中的MySQL模块。

安装MySQL模块

在Python2中,我们可以使用MySQLdb模块来连接和操作MySQL数据库。要安装MySQLdb模块,我们需要先安装MySQL数据库和MySQL开发库。下面是在Ubuntu系统上的安装步骤:

  1. 安装MySQL数据库
sudo apt-get update
sudo apt-get install mysql-server
  1. 安装MySQL开发库
sudo apt-get install libmysqlclient-dev
  1. 安装MySQLdb模块
pip install MySQL-python

连接到MySQL数据库

安装完MySQLdb模块后,我们可以使用以下代码来连接到MySQL数据库:

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect(host="localhost", user="username", passwd="password", db="database_name")

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# 执行SQL查询
cursor.execute("SELECT VERSION()")

# 获取单条数据
data = cursor.fetchone()

print("Database version : %s " % data)

# 关闭数据库连接
db.close()

在上面的代码中,我们首先导入MySQLdb模块,然后使用MySQLdb.connect()方法来连接到MySQL数据库。在连接方法中,我们需要提供数据库的主机名、用户名、密码和数据库名。接着,我们使用db.cursor()方法获取一个操作游标,然后使用cursor.execute()方法执行SQL查询。在这个例子中,我们查询了MySQL数据库的版本,并使用cursor.fetchone()方法获取查询结果。最后,我们关闭数据库连接。

执行SQL查询

一旦我们连接到MySQL数据库,我们就可以执行各种SQL查询。下面是一个示例,展示如何创建一个表并插入数据:

# 创建表
cursor.execute("CREATE TABLE IF NOT EXISTS employees (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(255), age INT)")

# 插入数据
cursor.execute("INSERT INTO employees (name, age) VALUES (%s, %s)", ("John", 25))

# 提交事务
db.commit()

# 查询数据
cursor.execute("SELECT * FROM employees")
data = cursor.fetchall()

for row in data:
    print("ID: %d, Name: %s, Age: %d" % (row[0], row[1], row[2]))

在上面的代码中,我们首先使用cursor.execute()方法创建了一个名为employees的表。接着,我们使用cursor.execute()方法插入了一条名为John的员工记录。然后,我们使用db.commit()方法提交事务,并使用cursor.execute()方法查询了所有员工的记录。最后,我们使用cursor.fetchall()方法获取查询结果,并遍历输出每个员工的ID、姓名和年龄。

类图

下面是一个示例类图,展示了使用Python2 MySQL模块的一些常用类和方法:

classDiagram
    class MySQLdb {
        +connect()
    }

    class Connection {
        +cursor()
        +commit()
        +close()
    }

    class Cursor {
        +execute()
        +fetchone()
        +fetchall()
    }

    class Record {
        -id: int
        -name: str
        -age: int
        +getID(): int
        +getName(): str
        +getAge(): int
    }

    MySQLdb --> Connection
    Connection --> Cursor
    Cursor --> Record

在上面的类图中,MySQLdb是连接MySQL数据库的主要类,它提供了connect()方法来建立数据库连接。Connection类表示与数据库的连接,它提供了cursor()commit()close()方法,用于获取操作游标、提交事务和关闭连接。Cursor类表示数据库操作游标,它提供了execute()fetchone()fetchall()方法,用于执行SQL查询、获取单条数据和获取所有数据。Record类表示数据库中的一条记录,它具有私有的ID、姓名和年龄属性,以及公有的获取属性的方法。

结论

Python2 MySQL模块提供了连接和操作MySQL数据库的功能