📜  PythonMySQL(1)

📅  最后修改于: 2023-12-03 15:04:19.846000             🧑  作者: Mango

PythonMySQL

PythonMySQL是一个Python与MySQL数据库交互的模块。通过PythonMySQL,程序员可以使用Python语言操作MySQL数据库,实现数据的存储、查询、更新和删除等功能。

安装PythonMySQL

PythonMySQL的安装可以通过pip包管理器进行,如下所示:

pip install pymysql
连接MySQL数据库

使用PythonMySQL与MySQL数据库进行交互,需要先创建连接。使用PythonMySQL中的connect()函数,可以创建一个MySQL数据库的连接对象。

import pymysql

# 连接MySQL数据库
conn = pymysql.connect(host='localhost', user='root', password='password', database='mydb', port=3306)

# 关闭连接
conn.close()

在connect()函数中指定连接的主机、用户名和密码以及数据库名和端口号。执行完以上代码,即可创建成功一个MySQL连接对象。在连接对象使用完毕后,务必通过close()函数关闭连接。

执行SQL语句

在创建了连接对象后,就可以通过该对象执行SQL命令。PythonMySQL提供了两个函数,即execute()和executemany()。其中,execute()函数可以执行一条SQL语句,而executemany()可以执行多条SQL语句。

import pymysql

# 连接MySQL数据库
conn = pymysql.connect(host='localhost', user='root', password='password', database='mydb', port=3306)

# 执行一条SQL语句
cursor = conn.cursor()
sql = "CREATE TABLE IF NOT EXISTS employees (id INT, name VARCHAR(20))"
cursor.execute(sql)

# 执行多条SQL语句
sql_list = ['INSERT INTO employees (id, name) VALUES (1, \'Tom\')',
            'INSERT INTO employees (id, name) VALUES (2, \'Jerry\')',
            'INSERT INTO employees (id, name) VALUES (3, \'Spike\')']
for sql in sql_list:
    cursor.execute(sql)

# 提交事务
conn.commit()

# 关闭连接
conn.close()
查询数据

在PythonMySQL中,可以使用execute()函数执行SELECT语句查询数据。该函数会返回一个游标对象,可以通过该对象的fetchall()函数获取查询结果。

import pymysql

# 连接MySQL数据库
conn = pymysql.connect(host='localhost', user='root', password='password', database='mydb', port=3306)

# 查询数据
cursor = conn.cursor()
sql = "SELECT * FROM employees"
cursor.execute(sql)
result = cursor.fetchall()
for row in result:
    print(row)

# 关闭连接
conn.close()

以上代码会执行一条SELECT语句,查询employees表中的所有记录,并将结果打印出来。fetchall()函数返回的结果为一个二维元组,其中每个元组代表一条记录,每个元组中的元素为该记录的每个字段的值。可以通过索引或字段名获取对应的值。

更新数据

在PythonMySQL中,可以使用execute()函数执行UPDATE语句更新数据。该函数会返回更新的记录数。

import pymysql

# 连接MySQL数据库
conn = pymysql.connect(host='localhost', user='root', password='password', database='mydb', port=3306)

# 更新数据
cursor = conn.cursor()
sql = "UPDATE employees SET name='Tommy' WHERE id=1"
cursor.execute(sql)
count = cursor.rowcount
print("成功更新{}条记录".format(count))

# 提交事务
conn.commit()

# 关闭连接
conn.close()

以上代码会执行一条UPDATE语句更新employees表中id为1的记录,将name字段的值更新为Tommy。

删除数据

在PythonMySQL中,可以使用execute()函数执行DELETE语句删除数据。该函数会返回删除的记录数。

import pymysql

# 连接MySQL数据库
conn = pymysql.connect(host='localhost', user='root', password='password', database='mydb', port=3306)

# 删除数据
cursor = conn.cursor()
sql = "DELETE FROM employees WHERE id=3"
cursor.execute(sql)
count = cursor.rowcount
print("成功删除{}条记录".format(count))

# 提交事务
conn.commit()

# 关闭连接
conn.close()

以上代码会执行一条DELETE语句删除employees表中id为3的记录。

总结

通过本文的介绍,相信您已经了解了PythonMySQL模块的基本用法。PythonMySQL模块的使用非常方便,程序员可使用该模块轻松地操作MySQL数据库。