一、Python数据库操作简介
Python拥有许多用于数据库操作的库,如pymysql、sqlite3等,这些库可以帮助我们连接数据库、读取、插入和更新数据。在使用Python进行数据库操作时,需要先安装相应的数据库驱动程序,如MySQL-python、pymysql等。下面以pymysql为例,介绍如何使用Python进行数据库操作。
二、连接数据库
import pymysql
# 连接数据库
db = pymysql.connect(host='localhost', port=3306, user='root', password='password', database='test')
上述代码中,host为数据库所在主机地址,port为连接端口,user和password为登录数据库的用户名和密码,database为要使用的数据库名称。
三、创建表
# 创建数据表
cursor = db.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS example (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), age INT)")
# 关闭数据库连接
db.close()
上述代码中,使用cursor.execute()方法执行SQL语句创建数据表example,其中id是主键,name和age是表中的两个字段。通过db.close()方法关闭数据库连接。
四、插入数据
# 连接数据库
db = pymysql.connect(host='localhost', port=3306, user='root', password='password', database='test')
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL插入语句
sql = "INSERT INTO example(name, age) VALUES ('Tom', 20)"
try:
# 执行SQL语句
cursor.execute(sql)
# 提交修改
db.commit()
except:
# 发生错误时回滚
db.rollback()
# 关闭数据库连接
db.close()
上述代码通过SQL语句插入一条name为Tom,age为20的数据到example表中。其中try-except处理了插入数据时可能发生的错误情况。
五、插入多条数据
# 连接数据库
db = pymysql.connect(host='localhost', port=3306, user='root', password='password', database='test')
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL插入语句
sql = "INSERT INTO example(name, age) VALUES (%s, %s)"
values = [('Bob', 22), ('Mary', 21), ('Dave', 25)]
try:
# 执行SQL语句
cursor.executemany(sql, values)
# 提交修改
db.commit()
except:
# 发生错误时回滚
db.rollback()
# 关闭数据库连接
db.close()
上述代码通过executemany()方法一次性插入多条数据,避免了多次执行execute()方法的麻烦。其中values定义了多个要插入的数据。
六、完整代码示例
import pymysql
# 连接数据库
db = pymysql.connect(host='localhost', port=3306, user='root', password='password', database='test')
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 创建数据表
cursor.execute("CREATE TABLE IF NOT EXISTS example (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), age INT)")
# 插入数据
sql = "INSERT INTO example(name, age) VALUES ('Tom', 20)"
try:
# 执行SQL语句
cursor.execute(sql)
# 提交修改
db.commit()
except:
# 发生错误时回滚
db.rollback()
# 插入多条数据
sql = "INSERT INTO example(name, age) VALUES (%s, %s)"
values = [('Bob', 22), ('Mary', 21), ('Dave', 25)]
try:
# 执行SQL语句
cursor.executemany(sql, values)
# 提交修改
db.commit()
except:
# 发生错误时回滚
db.rollback()
# 关闭数据库连接
db.close()
上述代码包括了连接数据库、创建数据表、插入单条数据和插入多条数据等操作。使用Python进行数据库操作,可以方便地实现数据的增删改查,为数据管理和分析提供了便利。