Python 操作 MySQL 数据库

Python 可以通过 PyMySQL、mysql-connector-python 等库实现对 MySQL 数据库的操作。以下是一个使用 PyMySQL 连接 MySQL 数据库并进行基本操作的示例:

首先,需要安装 PyMySQL 库:

pip install PyMySQL

连接数据库:

import pymysql

# 打开数据库连接
connection = pymysql.connect(host='localhost', user='root', password='password', db='test', charset='utf8mb4')

# 获取游标
cursor = connection.cursor()

# 执行 SQL 语句
cursor.execute("SELECT VERSION()")

# 获取数据
data = cursor.fetchone()
print("Database version: %s" % data)

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

上述代码中,需要填写数据库的连接信息,包括主机名、用户名、密码、数据库名称和字符集等。cursor() 方法获取游标,execute() 方法执行 SQL 语句。通过 fetchone() 方法获取一条数据,数据格式为元组类型。最后,使用 close() 方法关闭数据库连接。

插入数据:

import pymysql

# 打开数据库连接
connection = pymysql.connect(host='localhost', user='root', password='password', db='test', charset='utf8mb4')

# 获取游标
cursor = connection.cursor()

# SQL 插入语句
sql = "INSERT INTO employee(name, age, gender, salary) VALUES ('Tom', 25, 'male', 5000)"

try:
    # 执行 SQL 语句
    cursor.execute(sql)
    # 提交到数据库执行
    connection.commit()
    print("插入成功")
except:
    # 发生错误时进行回滚
    connection.rollback()
    print("插入失败")

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

这段代码首先执行了 INSERT SQL 语句将数据插入到 employee 表中,然后使用 commit() 方法提交事务,如果发生错误则使用 rollback() 方法回滚事务。最后关闭数据库连接。

查询数据:

import pymysql

# 打开数据库连接
connection = pymysql.connect(host='localhost', user='root', password='password', db='test', charset='utf8mb4')

# 获取游标
cursor = connection.cursor()

# SQL 查询语句
sql = "SELECT * FROM employee"

try:
    # 执行 SQL 语句
    cursor.execute(sql)
    # 获取所有记录列表
    results = cursor.fetchall()
    for row in results:
        name = row[0]
        age = row[1]
        gender = row[2]
        salary = row[3]
        # 打印结果
        print("name=%s,age=%d,gender=%s,salary=%d" % (name, age, gender, salary))
except:
    print("Error: unable to fetch data")

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

这段代码实现了 SELECT SQL 语句查询 employee 表的数据,并使用 fetchall() 方法获取所有记录。通过循环遍历每条数据,使用元组的下标访问每个字段的值并打印结果。最后关闭数据库连接。

以上是 Python 连接 MySQL 数据库的基本操作,需要根据具体应用需求选择不同的库和方法,并注意安全性和可维护性。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值