带你彻底搞懂python操作mysql数据库(cursor游标讲解

一、准备工作

在使用python操作mysql数据库之前,需要先做好以下准备工作:

1.安装mysql connector

mysql connector是python用来连接mysql数据库的一个驱动包,使用pip安装:

pip install mysql-connector-python

2.创建数据库和表

在mysql中创建一个测试数据库test_db,并在其中创建一张测试表test_table,代码如下:

CREATE DATABASE test_db;

USE test_db;

CREATE TABLE test_table (

id INT(11) NOT NULL AUTO_INCREMENT,

name VARCHAR(255) NOT NULL,

age INT(11) NOT NULL,

PRIMARY KEY (id)

);

二、连接数据库

连接数据库的代码如下:

import mysql.connector

cnx = mysql.connector.connect(user='root', password='your_password',

host='127.0.0.1',

database='test_db')

说明:

user:mysql数据库的用户名

password:mysql数据库的密码

host:mysql数据库的地址

database:mysql数据库的名称

连接数据库成功后,需要创建一个cursor对象。cursor是mysql数据库用来执行查询和获取结果的对象。

三、执行sql语句

在mysql数据库中,可以执行各种sql语句来实现对数据库的增、删、改、查操作。

1.插入数据

在test_table表中插入一条数据的代码如下:

cursor = cnx.cursor()

add_data = ("INSERT INTO test_table "

"(name, age) "

"VALUES (%s, %s)")

data = ('Tom', 20)

cursor.execute(add_data, data)

cnx.commit()

cursor.close()

说明:

第1行代码创建一个cursor对象。

第3-4行代码定义一个sql语句,将数据插入test_table表中。

第5行代码定义需要插入的数据,这里是一个元组。

第7行代码执行sql语句,并传入需要插入的数据。

第8行代码提交事务。

第10行代码关闭cursor对象。

2.查询数据

查询test_table表中所有数据的代码如下:

query_data = ("SELECT id, name, age "

"FROM test_table")

cursor.execute(query_data)

for (id, name, age) in cursor:

print(f"id: {id}, name: {name}, age: {age}")

cursor.close()

说明:

第2-3行代码定义一个sql语句,查询test_table表中的id、name、age字段。

第5行代码执行sql语句。

第7-9行代码遍历查询结果,并输出每一条记录的id、name、age字段。

第11行代码关闭cursor对象。

四、关闭连接

完成所有操作后,需要关闭连接,释放资源:

cnx.close()

这就是使用python操作mysql数据库的基本流程。通过cursor对象,可以执行各种sql语句进行对数据库的操作。

后端开发标签