SQLAlchemy使用(基础)

部署运行你感兴趣的模型镜像

       SQLAlchemy基于python实现的ORM框架。该框架建立在DB API之上,使用关系对象映射进行数据库操作,简言之,将类和对象转化为sql,然后使用API执行SQL并获取执行结果。

在这里插入图片描述

Engine,框架的引擎

Connection Pooling ,数据库连接池

Dialect,选择连接数据库的DB API种类

Schema/Types,架构和类型

SQL Exprression Language,SQL表达式语言 

SQLAlchemy本身无法操作数据库,其必须以来pymsql等第三方插件,Dialect用于和数据API进行交流,根据配置文件的不同调用不同的数据库API,从而实现对数据库的操作。

DBAPI Support(链接可查看具体说明)

使用的时候根据自己连接数据库的需要使用不同的数据库。 

建立数据库的Dialect后,就可以直接通过ORM的方式建立数据表了。

最简单的方法,使用pandase的dataframe,直接用to_sql的方式创建表和写入数据。

engine = create_engine('mysql+pymysql://root:root#@127.0.0.1:3306/databasename')

  data=dataframe的数据列表

data.to_sql(tableName, engine, index=False, if_exists='append', chunksize=5000)

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

SQLAlchemy是一个强大的Python SQL工具包和ORM(对象关系映射)库,它允许开发者在Python中操作数据库,而无需关心底层的SQL语法。以下是一些基本的SQLAlchemy使用示例: 1. **安装**: 首先,你需要安装SQLAlchemy,可以使用pip命令: ```shell pip install sqlalchemy ``` 2. **配置连接**: 创建一个数据库引擎,指定数据库类型(如SQLite、MySQL、PostgreSQL等)和连接信息: ```python from sqlalchemy import create_engine engine = create_engine('sqlite:///my_database.db') ``` 3. **定义映射**: 定义一个Python类,使用`declarative_base`创建一个基类,然后继承它并定义表结构: ```python from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True) name = Column(String) email = Column(String, unique=True) ``` 4. **实例化会话**: 创建Session对象,用于执行数据库操作并管理事务: ```python from sqlalchemy.orm import sessionmaker Session = sessionmaker(bind=engine) session = Session() ``` 5. **CRUD操作**: - 插入数据:`new_user = User(name='Alice', email='alice@example.com')` - 查询数据:`all_users = session.query(User).all()` - 更新数据:`user = session.query(User).filter_by(email='alice@example.com').first() user.name = 'Alice Doe'` - 删除数据:`session.delete(user)` - 提交事务:`session.commit()` - 回滚事务:`session.rollback()`,如果遇到错误 6. **使用事务**: ```python try: session.begin() # 执行多个操作 session.add(new_user) session.commit() except Exception as e: session.rollback() print(f"Error occurred: {e}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值