Python3如何进行数据库操作

发布时间:2025-02-17 16:26:50 作者:小樊
来源:亿速云 阅读:95

在Python3中进行数据库操作,通常会使用一些流行的数据库适配器库,比如sqlite3(用于SQLite数据库)、psycopg2(用于PostgreSQL数据库)、pymysql(用于MySQL数据库)或者sqlalchemy(一个功能强大的ORM库,支持多种数据库)。以下是使用这些库进行数据库操作的基本步骤:

使用sqlite3

import sqlite3

# 连接到SQLite数据库
conn = sqlite3.connect('example.db')

# 创建一个Cursor对象使用cursor()方法
cursor = conn.cursor()

# 创建表
cursor.execute('''CREATE TABLE IF NOT EXISTS stocks
                 (date text, trans text, symbol text, qty real, price real)''')

# 插入数据
cursor.execute("INSERT INTO stocks VALUES ('2023-04-01','BUY','RHAT',100,35.14)")

# 提交事务
conn.commit()

# 查询数据
cursor.execute('SELECT * FROM stocks')
for row in cursor.fetchall():
    print(row)

# 关闭Cursor和连接
cursor.close()
conn.close()

使用psycopg2(PostgreSQL)

import psycopg2

# 连接到PostgreSQL数据库
conn = psycopg2.connect(
    dbname="your_dbname",
    user="your_username",
    password="your_password",
    host="your_host"
)

# 创建一个Cursor对象
cursor = conn.cursor()

# 执行SQL查询
cursor.execute('SELECT * FROM your_table')

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

for row in rows:
    print(row)

# 插入数据
cursor.execute("INSERT INTO your_table (column1, column2) VALUES (%s, %s)", ('value1', 'value2'))

# 提交事务
conn.commit()

# 关闭Cursor和连接
cursor.close()
conn.close()

使用pymysql(MySQL)

import pymysql

# 连接到MySQL数据库
conn = pymysql.connect(
    host='localhost',
    user='your_username',
    password='your_password',
    db='your_dbname'
)

# 创建一个Cursor对象
cursor = conn.cursor()

# 执行SQL查询
cursor.execute('SELECT * FROM your_table')

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

for row in rows:
    print(row)

# 插入数据
cursor.execute("INSERT INTO your_table (column1, column2) VALUES (%s, %s)", ('value1', 'value2'))

# 提交事务
conn.commit()

# 关闭Cursor和连接
cursor.close()
conn.close()

使用sqlalchemy

from sqlalchemy import create_engine, Table, Column, Integer, String, MetaData

# 创建数据库引擎
engine = create_engine('sqlite:///example.db')

# 定义表结构
metadata = MetaData()
stocks = Table('stocks', metadata,
              Column('date', String),
              Column('trans', String),
              Column('symbol', String),
              Column('qty', Integer),
              Column('price', Integer))

# 创建表
metadata.create_all(engine)

# 插入数据
with engine.connect() as connection:
    connection.execute(stocks.insert(), [
        {'date': '2023-04-01', 'trans': 'BUY', 'symbol': 'RHAT', 'qty': 100, 'price': 35.14}
    ])

# 查询数据
with engine.connect() as connection:
    result = connection.execute(stocks.select())
    for row in result:
        print(row)

在使用这些库时,你需要根据实际的数据库类型和需求选择合适的库,并按照库的文档来进行操作。记得在操作完成后关闭Cursor和数据库连接,以避免资源泄露。如果使用ORM库如sqlalchemy,你可以通过定义模型类来映射数据库表,然后使用ORM提供的API进行数据库操作,这样可以更加面向对象地进行编程。

推荐阅读:
  1. Python+Requests+PyTest+Excel+Allure接口自动化测试怎么实现
  2. Python中的os和sys模块如何使用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:Python3怎样提升安全性

下一篇:Python3怎样处理异常情况

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》