首页 > 编程知识 正文

Python数据库连接之为中心

时间:2023-11-20 17:53:19 阅读:298736 作者:NUUW

本文将详细阐述Python数据库连接的各个方面,包括连接数据库、执行SQL查询、插入和更新数据、事务处理等。通过本文的学习,读者将对Python中数据库连接的基本原理和操作有深入的了解。

一、连接数据库

1、使用Python内置的sqlite3模块连接SQLite数据库


import sqlite3

# 连接数据库
conn = sqlite3.connect('test.db')

# 创建游标对象
cursor = conn.cursor()

# 执行SQL语句
cursor.execute('SELECT * FROM students')

# 获取查询结果
result = cursor.fetchall()

# 关闭数据库连接
conn.close()

2、使用第三方库如pyodbc连接其他数据库,如Microsoft SQL Server


import pyodbc

# 连接数据库
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=localhost;DATABASE=test;UID=username;PWD=password')

# 创建游标对象
cursor = conn.cursor()

# 执行SQL语句
cursor.execute('SELECT * FROM employees')

# 获取查询结果
result = cursor.fetchall()

# 关闭数据库连接
conn.close()

二、执行SQL查询

1、查询所有数据


# 执行SQL语句
cursor.execute('SELECT * FROM students')

# 获取查询结果
result = cursor.fetchall()

2、查询满足条件的数据


# 执行带参数的SQL语句
cursor.execute('SELECT * FROM students WHERE age > ? AND gender = ?', (18, 'male'))

# 获取查询结果
result = cursor.fetchall()

三、插入和更新数据

1、插入单条数据


# 执行插入SQL语句
cursor.execute('INSERT INTO students (name, age, gender) VALUES (?, ?, ?)', ('Tom', 20, 'male'))

# 提交事务
conn.commit()

2、插入多条数据


# 执行插入SQL语句
cursor.executemany('INSERT INTO students (name, age, gender) VALUES (?, ?, ?)', [('Tom', 20, 'male'), ('Alice', 19, 'female')])

# 提交事务
conn.commit()

3、更新数据


# 执行更新SQL语句
cursor.execute('UPDATE students SET age = ? WHERE name = ?', (21, 'Tom'))

# 提交事务
conn.commit()

四、事务处理

1、自动提交事务(默认情况下,每次数据操作都是一个独立的事务)


# 开启自动提交事务
conn.autocommit = True

# 执行SQL语句
cursor.execute('UPDATE students SET age = ? WHERE name = ?', (21, 'Tom'))

2、手动提交事务


# 开启手动提交事务
conn.autocommit = False

# 执行SQL语句
cursor.execute('UPDATE students SET age = ? WHERE name = ?', (21, 'Tom'))

# 提交事务
conn.commit()

3、事务回滚


# 开启手动提交事务
conn.autocommit = False

try:
    # 执行SQL语句
    cursor.execute('UPDATE students SET age = ? WHERE name = ?', (21, 'Tom'))

    # 提交事务
    conn.commit()
except:
    # 回滚事务
    conn.rollback()
finally:
    # 关闭数据库连接
    conn.close()

五、总结

通过本文对Python数据库连接的详细讲解,我们了解了如何连接数据库、执行SQL查询、插入和更新数据以及事务处理等方面的操作。熟练掌握这些知识,对于开发数据库相关的应用程序将有很大帮助。

需要注意的是,不同的数据库可能需要使用不同的库和语法,因此在实际开发中需要根据具体情况选择适合的库和语法。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。