下面我来详细讲解“Python3操作MySQL数据库的方法”的完整攻略。
准备工作
在使用Python3操作MySQL数据库之前,需要先安装pymysql或者mysql-connector-python模块,这两个模块都可以用来连接MySQL数据库,并且都是通过Python3能够直接安装的。
-
安装pymysql模块:可以使用
pip3 install pymysql
命令进行安装。 -
安装mysql-connector-python模块:可以使用
pip3 install mysql-connector-python
命令进行安装。
连接MySQL数据库
连接MySQL数据库的过程中,我们需要通过Python3提供的pymysql或mysql-connector-python模块来连接数据库。具体如下:
使用pymysql连接MySQL数据库
import pymysql
# 建立数据库连接
db = pymysql.connect(host='localhost', user='root', password='root', port=3306)
# 创建游标对象
cursor = db.cursor()
# 查询数据库版本号
cursor.execute('SELECT VERSION()')
data = cursor.fetchone()
print('Database version:', data)
# 关闭游标和数据库连接
cursor.close()
db.close()
在以上示例代码中,我们成功连接了本地MySQL数据库,并通过游标执行了一条SQL语句查询数据库版本号。最后关闭了连接,释放资源。
使用mysql-connector-python连接MySQL数据库
import mysql.connector
# 建立数据库连接
db = mysql.connector.connect(host='localhost', user='root', password='root', port=3306)
# 创建游标对象
cursor = db.cursor()
# 查询数据库版本号
cursor.execute('SELECT VERSION()')
data = cursor.fetchone()
print('Database version:', data)
# 关闭游标和数据库连接
cursor.close()
db.close()
以上示例代码与使用pymysql连接MySQL数据库的代码非常相似,不过在连接时使用了mysql-connector-python模块的类。
创建数据库和数据表
在成功连接到MySQL数据库之后,我们就可以使用Python3来创建数据库和数据表了。具体如下:
使用pymysql创建数据库和数据表
import pymysql
# 建立数据库连接
db = pymysql.connect(host='localhost', user='root', password='root', port=3306)
# 创建游标对象
cursor = db.cursor()
# 创建数据库
cursor.execute('CREATE DATABASE IF NOT EXISTS test_db')
# 创建数据表
cursor.execute('USE test_db')
cursor.execute('CREATE TABLE IF NOT EXISTS test_table (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20) NOT NULL, age INT)')
# 关闭游标和数据库连接
cursor.close()
db.close()
以上示例代码中我们成功创建了名为test_db的数据库,以及名为test_table的数据表,并定义了id、name、age三个字段。
使用mysql-connector-python创建数据库和数据表
import mysql.connector
# 建立数据库连接
db = mysql.connector.connect(host='localhost', user='root', password='root', port=3306)
# 创建游标对象
cursor = db.cursor()
# 创建数据库
cursor.execute('CREATE DATABASE IF NOT EXISTS test_db')
# 创建数据表
cursor.execute('USE test_db')
cursor.execute('CREATE TABLE IF NOT EXISTS test_table (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20) NOT NULL, age INT)')
# 关闭游标和数据库连接
cursor.close()
db.close()
以上示例代码中我们成功创建了名为test_db的数据库,以及名为test_table的数据表,并定义了id、name、age三个字段。
插入数据
使用Python3向MySQL数据库中插入数据的过程中,我们需要使用INSERT操作。以下是具体步骤:
使用pymysql插入数据
import pymysql
# 建立数据库连接
db = pymysql.connect(host='localhost', user='root', password='root', port=3306, db='test_db')
# 创建游标对象
cursor = db.cursor()
# 插入数据
sql = 'INSERT INTO test_table (name, age) VALUES (%s, %s)'
val = ('Tom', 25)
cursor.execute(sql, val)
# 提交事务
db.commit()
# 关闭游标和数据库连接
cursor.close()
db.close()
在以上示例代码中,我们使用了INSERT操作向test_table数据表中插入了一条数据。注意,我们先通过execute方法执行了一条插入操作的SQL语句,然后再使用commit方法提交数据。
使用mysql-connector-python插入数据
import mysql.connector
# 建立数据库连接
db = mysql.connector.connect(host='localhost', user='root', password='root', port=3306, database='test_db')
# 创建游标对象
cursor = db.cursor()
# 插入数据
sql = 'INSERT INTO test_table (name, age) VALUES (%s, %s)'
val = ('Tom', 25)
cursor.execute(sql, val)
# 提交事务
db.commit()
# 关闭游标和数据库连接
cursor.close()
db.close()
在以上示例代码中,我们使用了INSERT操作向test_table数据表中插入了一条数据。注意,我们先通过execute方法执行了一条插入操作的SQL语句,然后再使用commit方法提交数据。
查询数据
在Python3中,查询MySQL数据库的过程中,我们需要使用SELECT操作。以下是具体步骤:
使用pymysql查询数据
import pymysql
# 建立数据库连接
db = pymysql.connect(host='localhost', user='root', password='root', port=3306, db='test_db')
# 创建游标对象
cursor = db.cursor()
# 查询数据
sql = 'SELECT * FROM test_table WHERE age > %s'
val = (20,)
cursor.execute(sql, val)
results = cursor.fetchall()
for row in results:
print(row)
# 关闭游标和数据库连接
cursor.close()
db.close()
在以上示例代码中,我们使用SELECT操作从test_table数据表中查询了年龄大于20的数据,并打印查询结果。
使用mysql-connector-python查询数据
import mysql.connector
# 建立数据库连接
db = mysql.connector.connect(host='localhost', user='root', password='root', port=3306, database='test_db')
# 创建游标对象
cursor = db.cursor()
# 查询数据
sql = 'SELECT * FROM test_table WHERE age > %s'
val = (20,)
cursor.execute(sql, val)
results = cursor.fetchall()
for row in results:
print(row)
# 关闭游标和数据库连接
cursor.close()
db.close()
在以上示例代码中,我们使用SELECT操作从test_table数据表中查询了年龄大于20的数据,并打印查询结果。
更新数据
在Python3中,更新MySQL数据库中的数据的过程中,我们需要使用UPDATE操作。以下是具体步骤:
使用pymysql更新数据
import pymysql
# 建立数据库连接
db = pymysql.connect(host='localhost', user='root', password='root', port=3306, db='test_db')
# 创建游标对象
cursor = db.cursor()
# 更新数据
sql = 'UPDATE test_table SET age = %s WHERE name = %s'
val = (26, 'Tom')
cursor.execute(sql, val)
# 提交事务
db.commit()
# 关闭游标和数据库连接
cursor.close()
db.close()
在以上示例代码中,我们使用UPDATE操作将test_table数据表中名字为Tom的年龄改为了26。注意,我们需要先使用execute方法执行一条UPDATE操作的SQL语句,然后再使用commit方法提交修改。
使用mysql-connector-python更新数据
import mysql.connector
# 建立数据库连接
db = mysql.connector.connect(host='localhost', user='root', password='root', port=3306, database='test_db')
# 创建游标对象
cursor = db.cursor()
# 更新数据
sql = 'UPDATE test_table SET age = %s WHERE name = %s'
val = (26, 'Tom')
cursor.execute(sql, val)
# 提交事务
db.commit()
# 关闭游标和数据库连接
cursor.close()
db.close()
在以上示例代码中,我们使用UPDATE操作将test_table数据表中名字为Tom的年龄改为了26。注意,我们需要先使用execute方法执行一条UPDATE操作的SQL语句,然后再使用commit方法提交修改。
删除数据
在Python3中,删除MySQL数据库中的数据的过程中,我们需要使用DELETE操作。以下是具体步骤:
使用pymysql删除数据
import pymysql
# 建立数据库连接
db = pymysql.connect(host='localhost', user='root', password='root', port=3306, db='test_db')
# 创建游标对象
cursor = db.cursor()
# 删除数据
sql = 'DELETE FROM test_table WHERE name = %s'
val = ('Tom',)
cursor.execute(sql, val)
# 提交事务
db.commit()
# 关闭游标和数据库连接
cursor.close()
db.close()
在以上示例代码中,我们使用DELETE操作将test_table数据表中名字为Tom的数据删除了。注意,我们需要先使用execute方法执行一条DELETE操作的SQL语句,然后再使用commit方法提交修改。
使用mysql-connector-python删除数据
import mysql.connector
# 建立数据库连接
db = mysql.connector.connect(host='localhost', user='root', password='root', port=3306, database='test_db')
# 创建游标对象
cursor = db.cursor()
# 删除数据
sql = 'DELETE FROM test_table WHERE name = %s'
val = ('Tom',)
cursor.execute(sql, val)
# 提交事务
db.commit()
# 关闭游标和数据库连接
cursor.close()
db.close()
在以上示例代码中,我们使用DELETE操作将test_table数据表中名字为Tom的数据删除了。注意,我们需要先使用execute方法执行一条DELETE操作的SQL语句,然后再使用commit方法提交修改。
这就是整个“Python3操作MySQL数据库的方法”的完整攻略。希望能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python3操作mysql数据库的方法 - Python技术站