一、准备工作
在使用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语句进行对数据库的操作。