您的位置:

使用Python实现插入数据到数据库中

一、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进行数据库操作,可以方便地实现数据的增删改查,为数据管理和分析提供了便利。