下面是详细讲解“Python操作MySQL数据库9个实用实例”的完整攻略:
Python操作MySQL数据库9个实用实例
MySQL是目前应用最广泛的开源关系型数据库管理系统之一,而Python是一种极其流行的编程语言,它提供了许多用于操作MySQL数据库的库和工具,本文将介绍Python操作MySQL数据库的9个实用实例。
实例1:连接MySQL数据库
在进行MySQL数据库操作前,我们需要建立连接,这里介绍使用Python中的mysql-connector库连接MySQL数据库的方法。首先安装mysql-connector库:
pip install mysql-connector
然后创建连接:
import mysql.connector
# 建立连接
mydb = mysql.connector.connect(
host="localhost",
user="root",
passwd="password",
database="mydatabase"
)
# 打印连接对象
print(mydb)
实例2:创建数据库和数据表
我们可以使用Python操作MySQL数据库来创建数据库和数据表,如下所示:
import mysql.connector
# 建立连接
mydb = mysql.connector.connect(
host="localhost",
user="root",
passwd="password"
)
# 创建数据库
mycursor = mydb.cursor()
mycursor.execute("CREATE DATABASE mydatabase")
# 创建数据表
mycursor.execute("CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))")
实例3:插入数据
我们来实现向数据表中插入数据的操作:
import mysql.connector
# 建立连接
mydb = mysql.connector.connect(
host="localhost",
user="root",
passwd="password",
database="mydatabase"
)
# 插入数据
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record inserted.")
实例4:查询数据
通过Python操作MySQL数据库,我们可以查询数据表中的数据:
import mysql.connector
# 建立连接
mydb = mysql.connector.connect(
host="localhost",
user="root",
passwd="password",
database="mydatabase"
)
# 查询数据
mycursor = mydb.cursor()
mycursor.execute("SELECT * FROM customers")
myresult = mycursor.fetchall()
for x in myresult:
print(x)
实例5:更新数据
使用Python更新MySQL数据库的操作如下所示:
import mysql.connector
# 建立连接
mydb = mysql.connector.connect(
host="localhost",
user="root",
passwd="password",
database="mydatabase"
)
# 更新数据
mycursor = mydb.cursor()
sql = "UPDATE customers SET address = 'Canyon 123' WHERE name = 'John'"
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "record(s) affected")
实例6:删除数据
使用Python删除MySQL数据库的操作如下所示:
import mysql.connector
# 建立连接
mydb = mysql.connector.connect(
host="localhost",
user="root",
passwd="password",
database="mydatabase"
)
# 删除数据
mycursor = mydb.cursor()
sql = "DELETE FROM customers WHERE name = 'John'"
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "record(s) deleted")
实例7:插入多条记录
使用Python向MySQL数据库插入多条数据的操作如下所示:
import mysql.connector
# 建立连接
mydb = mysql.connector.connect(
host="localhost",
user="root",
passwd="password",
database="mydatabase"
)
# 插入多条数据
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = [
('Peter', 'Lowstreet 4'),
('Amy', 'Apple st 652'),
('Hannah', 'Mountain 21'),
('Michael', 'Valley 345'),
('Sandy', 'Ocean blvd 2'),
('Betty', 'Green Grass 1'),
('Richard', 'Sky st 331'),
('Susan', 'One way 98'),
('Vicky', 'Yellow Garden 2'),
('Ben', 'Park Lane 38'),
('William', 'Central st 954'),
('Chuck', 'Main Road 989'),
('Viola', 'Sideway 1633')
]
mycursor.executemany(sql, val)
mydb.commit()
print(mycursor.rowcount, "was inserted.")
实例8:使用预处理语句
Python操作MySQL数据库还支持使用预处理语句:
import mysql.connector
# 建立连接
mydb = mysql.connector.connect(
host="localhost",
user="root",
passwd="password",
database="mydatabase"
)
# 使用预处理语句
mycursor = mydb.cursor(prepared=True)
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record inserted.")
实例9:使用事务
使用Python操作MySQL数据库时还可以使用事务:
import mysql.connector
# 建立连接
mydb = mysql.connector.connect(
host="localhost",
user="root",
passwd="password",
database="mydatabase"
)
# 使用事务
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)
mydb.rollback()
print(mycursor.rowcount, "record(s) affected")
以上就是Python操作MySQL数据库9个实用实例的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python操作MySQL数据库9个实用实例 - Python技术站