Python SQL数据库操作(php操作access数据库)

Python SQL数据库操作(php操作access数据库)

解决方案goocz2025-02-01 12:20:3713A+A-

在Python中,操作SQL数据库的常用库包括sqlite3SQLAlchemy。以下是这两个库的基本用法和示例。

1. 使用 sqlite3

导入和创建数据库

import sqlite3

# 连接到数据库(如果不存在则创建)
conn = sqlite3.connect('example.db')
cursor = conn.cursor()

创建表

# 创建表
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    age INTEGER NOT NULL
)
''')
conn.commit()

插入数据

# 插入数据
cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ('Alice', 25))
cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ('Bob', 30))
conn.commit()

查询数据

# 查询数据
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
    print(row)

更新和删除数据

# 更新数据
cursor.execute("UPDATE users SET age = ? WHERE name = ?", (26, 'Alice'))
conn.commit()

# 删除数据
cursor.execute("DELETE FROM users WHERE name = ?", ('Bob',))
conn.commit()

关闭连接

# 关闭连接
conn.close()

2. 使用 SQLAlchemy

安装 SQLAlchemy

确保已安装SQLAlchemy库:

pip install sqlalchemy

导入和设置数据库引擎

from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker

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

定义模型

class User(Base):
    __tablename__ = 'users'
    id = Column(Integer, primary_key=True)
    name = Column(String)
    age = Column(Integer)

# 创建表
Base.metadata.create_all(engine)

插入数据

Session = sessionmaker(bind=engine)
session = Session()

# 添加用户
new_user = User(name='Alice', age=25)
session.add(new_user)
session.commit()

查询数据

# 查询所有用户
users = session.query(User).all()
for user in users:
    print(user.name, user.age)

更新和删除数据

# 更新用户
user = session.query(User).filter_by(name='Alice').first()
user.age = 26
session.commit()

# 删除用户
session.delete(user)
session.commit()

关闭会话

# 关闭会话
session.close()

总结

  • sqlite3:适用于简单的数据库操作,直接操作SQL。
  • SQLAlchemy:提供ORM(对象关系映射)功能,适合复杂应用,支持多种数据库。



点击这里复制本文地址 以上内容由goocz整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

果子教程网 © All Rights Reserved.  蜀ICP备2024111239号-5