Python作为一种脚本语言,广泛用于web开发中,而数据库是web应用程序中关键的一部分。在Python中,我们可以使用多种数据库来存储数据,比如MySQL、PostgreSQL、MongoDB等等。
对于web开发者而言,必须掌握数据库操作方法,这样才能更好地利用数据库来支持应用程序的逻辑。下面将为你介绍Python web开发中常用的数据库操作方法。
一、连接数据库
Python中连接数据库使用的是数据库连接对象,根据不同的数据库类型,需要引入不同的数据库连接模块。比如,MySQL需要引入pymysql模块,PostgreSQL需要引入psycopg2模块,MongoDB需要引入pymongo模块。
下面是连接MySQL数据库的示例代码:
import pymysql
# 数据库连接信息,可以通过读取配置文件或者通过参数传入
config = {
'host': 'localhost',
'port': 3306,
'user': 'root',
'password': '123456',
'database': 'testdb'
}
# 连接数据库
conn = pymysql.connect(**config)
二、创建数据库表
在Python中创建数据库表使用的是游标对象,需要先获取游标对象。使用游标对象执行CREATE TABLE语句即可创建表。
示例代码:
# 获取游标对象
cursor = conn.cursor()
# 创建表
sql = """
CREATE TABLE users (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30) NOT NULL,
age INT,
gender CHAR(1),
email VARCHAR(50)
)
"""
cursor.execute(sql)
# 提交修改
conn.commit()
三、查询数据
查询数据库数据使用的也是游标对象,使用SELECT语句可以查询到所有符合条件的数据。查询结果是一个二维数组,第一维是记录行数,第二维是数据列数。
示例代码:
# 查询数据
sql = """
SELECT id, name, age, gender, email
FROM users
WHERE age > 20
"""
cursor.execute(sql)
# 获取查询结果
results = cursor.fetchall()
# 打印结果
for row in results:
id = row[0]
name = row[1]
age = row[2]
gender = row[3]
email = row[4]
print(f"id={id}, name={name}, age={age}, gender={gender}, email={email}")
四、插入数据
在Python中插入数据使用的是游标对象,使用INSERT语句可以插入数据。插入多条数据使用executemany()方法。
示例代码:
# 插入单条数据
sql = """
INSERT INTO users(name, age, gender, email)
VALUES("Tom", 25, "M", "tom@example.com")
"""
cursor.execute(sql)
# 插入多条数据
data = [
("Bob", 20, "M", "bob@example.com"),
("Alice", 28, "F", "alice@example.com")
]
sql = """
INSERT INTO users(name, age, gender, email)
VALUES(%s, %s, %s, %s)
"""
cursor.executemany(sql, data)
# 提交修改
conn.commit()
五、更新数据
更新数据库数据使用的是游标对象,使用UPDATE语句可以更新符合条件的数据。
示例代码:
# 更新数据
sql = """
UPDATE users
SET age=30, email='new_email@example.com'
WHERE name="Tom"
"""
cursor.execute(sql)
# 提交修改
conn.commit()
六、删除数据
删除数据库数据使用的是游标对象
.........................................................