Python数据库语句编写技巧详解,从基础到进阶疑问解答
- 数据库
- 2025-11-29
- 6
在Python中,与数据库交互通常使用SQL(结构化查询语言)语句,以下是一些常见的数据库操作及其对应的Python代码示例。
数据库连接
你需要连接到数据库,以下是一个使用sqlite3模块连接SQLite数据库的示例:
import sqlite3 # 连接到SQLite数据库 # 数据库文件是test.db,如果文件不存在,会自动在当前目录创建: conn = sqlite3.connect('test.db')
创建表
以下是一个创建名为users的表的示例:
# 创建一个Cursor: cursor = conn.cursor() # 创建表: cursor.execute('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)')
插入数据
插入数据到users表:
查询数据
查询users表中的数据:
# 查询所有记录: cursor.execute("SELECT * FROM users") values = cursor.fetchall() for value in values: print(value)
更新数据
更新users表中的数据:
# 更新记录: cursor.execute("UPDATE users SET age = 31 WHERE name = 'Alice'")
删除数据
删除users表中的数据:

提交事务
完成操作后,提交事务:
# 提交事务: conn.commit()
关闭连接
关闭数据库连接:
# 关闭Cursor: cursor.close() # 关闭Connection: conn.close()
以下是一个表格,归纳了上述操作及其对应的SQL语句:

| Python操作 | SQL语句 |
|---|---|
| 连接数据库 | sqlite3.connect(‘test.db’) |
| 创建表 | CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER) |
| 插入数据 | INSERT INTO users (name, age) VALUES (‘Alice’, 30) |
| 查询数据 | SELECT * FROM users |
| 更新数据 | UPDATE users SET age = 31 WHERE name = ‘Alice’ |
| 删除数据 | DELETE FROM users WHERE name = ‘Alice’ |
| 提交事务 | conn.commit() |
| 关闭连接 | cursor.close(), conn.close() |
FAQs
Q1: 如何在Python中连接MySQL数据库?
A1: 在Python中连接MySQL数据库,可以使用mysqlconnectorpython模块,以下是一个示例:
import mysql.connector # 连接到MySQL数据库 conn = mysql.connector.connect( host='localhost', user='yourusername', password='yourpassword', database='yourdatabase' )
Q2: 如何在Python中执行一个包含多个SQL语句的批处理操作?
A2: 在Python中,你可以使用executemany()方法来执行一个包含多个SQL语句的批处理操作,以下是一个示例:
# 执行包含多个SQL语句的批处理操作 sql_statements = [ "INSERT INTO users (name, age) VALUES ('Bob', 25)", "INSERT INTO users (name, age) VALUES ('Charlie', 28)" ] cursor.executemany("INSERT INTO users (name, age) VALUES (%s, %s)", sql_statements) conn.commit()
