python 使用sql

Python可以使用多种方式与SQL交互。以下是其中几种常见的方式:

  1. 使用Python自带的sqlite3模块:sqlite3是一个轻量级的关系型数据库,Python自带sqlite3模块可以直接与sqlite3数据库交互。使用sqlite3模块,可以创建、连接、查询、更新、删除sqlite3数据库。例如,以下代码创建了一个名为test.db的sqlite3数据库,并插入了一条记录:
import sqlite3

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

# 创建表
conn.execute('''CREATE TABLE COMPANY
       (ID INT PRIMARY KEY     NOT NULL,
       NAME           TEXT    NOT NULL,
       AGE            INT     NOT NULL,
       ADDRESS        CHAR(50),
       SALARY         REAL);''')

# 插入记录
conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
      VALUES (1, 'Paul', 32, 'California', 20000.00 )")

# 提交更改
conn.commit()

# 关闭连接
conn.close()
  1. 使用Python的ORM框架:ORM框架可以将Python对象与SQL数据库中的表进行映射,从而实现面向对象的方式操作数据库。常见的Python ORM框架有SQLAlchemy和Django ORM。以下是使用SQLAlchemy查询sqlite3数据库的例子:
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker

# 创建数据库连接
engine = create_engine('sqlite:///test.db', echo=True)

# 创建ORM基类
Base = declarative_base()

# 定义ORM模型
class Company(Base):
    __tablename__ = 'COMPANY'

    id = Column(Integer, primary_key=True)
    name = Column(String)
    age = Column(Integer)
    address = Column(String)
    salary = Column(Integer)

# 创建ORM会话
Session = sessionmaker(bind=engine)
session = Session()

# 查询记录
for company in session.query(Company).filter(Company.age == 32):
    print(company.name, company.address)
  1. 使用Python的pandas库:pandas库是Python中用于数据分析和处理的库,可以将SQL查询结果以DataFrame的形式返回。以下是使用pandas查询sqlite3数据库的例子:
import pandas as pd
import sqlite3

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

# 查询记录
df = pd.read_sql_query("SELECT * from COMPANY where AGE=32;", conn)

# 打印结果
print(df)

# 关闭连接
conn.close()
``

标签: 科技


原文地址: https://cveoy.top/t/topic/fLpc 著作权归作者所有。请勿转载和采集!