mysql-connector 学习笔记

简介

mysql-connector 是一个用于 Python 编程语言的 MySQL 数据库连接库,它允许开发人员连接到 MySQL 数据库并执行各种数据库操作,如查询、插入、更新和删除数据。

安装
1
pip install mysql-connector

使用

创建数据库连接

我们先在本地创建一个名为 demo 的数据库:

1
2
3
4
5
6
7
8
mysql -u root -p
# 以 root 登陆 mysql 客户端

create table demo;
# 创建数据库

show databases;
# 如果显示有 demo,则表示创建成功

创建成功后,我们就可以使用 mysql-connector 连接到数据库了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import mysql.connector

def main():
try:
demo_connection = mysql.connector.connect(
host='localhost',
user='root',
passwd='xxxxx', # Your password
database='demo' # 指定具体的数据库,也可以不加
)
except mysql.connector.Error as err:
print('Connection Error!', err)

if __name__ == '__main__':
main()
操作数据库

连接成功后我们就可以操作本地数据库了。为了操作数据库,我们需要创建一个 「Cursor」 对象。

Cursor 是一个重要的对象,它用于执行 SQL 查询和操作数据库。

  1. 创建 Cursor 对象: 在使用 mysql-connector 连接到 MySQL 数据库后,首先需要创建一个 cursor 对象。通常,可以使用 connection.cursor() 方法来创建一个新的 cursor 对象,其中 connection 是数据库连接的实例。

    1
    my_cursor = demo_connection.cursor()

  2. 执行 SQL 语句: 通过 cursor 对象,可以执行各种 SQL 查询。要执行查询,可以使用 cursor.execute(sql_query) 方法,其中 sql_query 是包含 SQL 语句的字符串。

    假设 demo 数据库中有表格 stuff(s_id, s_name, gender, salary, dept_id)

    1
    2
    3
    my_cursor.execute('select * from stuff')

    my_cursor.execute('insert into stuff values(%s, %s, %s, %s, %s)', (2023100, 'Frank', '男', 40000, 3))

    注:如果要一次性向表格插入多个数据,execute() 方法的第二个参数可以接收一个包含了多个元组的列表。

  3. 获取查询结果: 一旦执行了查询,可以使用不同的方法来获取查询结果。例如,可以使用 cursor.fetchone() 获取一行记录,或者使用 cursor.fetchall() 获取所有匹配的记录。

    1
    2
    3
    4
    5
    # 获取一行记录
    row = my_cursor.fetchone()

    # 获取所有匹配的记录
    rows = my_cursor.fetchall()

  4. 提交事务: 在执行写操作(如 INSERTUPDATEDELETE )后,通常需要提交事务以确保更改生效。可以使用 connection.commit() 方法来提交事务。

    1
    2
    # 提交事务
    demo_connection.commit()

  5. 关闭 Cursor 和连接: 使用完 cursor 和数据库连接后,应该关闭它们以释放资源。

    1
    2
    3
    4
    5
    # 关闭 Cursor
    my_cursor.close()

    # 关闭连接
    demo_connection.close()


mysql-connector 学习笔记
https://goer17.github.io/2023/10/04/mysql-connector 学习笔记/
作者
Captain_Lee
发布于
2023年10月4日
许可协议