sqlalchemy 数据库操作

摘要:
1、简介一种ORM2、安装pip3install-ihttps://pypi.douban.com/simplesqlalchemy3、连接数据库fromsqlalchemyimportcreate_engineengine=create_engine("mysql+pymysql://root:密码@127.0.0.1:3306/数据库名称?charset=utf8",max_overflow=

1、简介

一种ORM

2、安装

pip3 install -i https://pypi.douban.com/simple sqlalchemy

3、连接数据库

 from sqlalchemy importcreate_engine
 engine =create_engine(
        "mysql+pymysql://root:密码@127.0.0.1:3306/数据库名称?charset=utf8",
        max_overflow=0,  #超过连接池大小外最多创建的连接
        pool_size=5,  #连接池大小
        pool_timeout=30,  #池中没有线程最多等待的时间,否则报错
        pool_recycle=-1  #多久之后对线程池中的线程进行一次连接的回收(重置)
    )

4、创建/删除表(包含连接数据库)

a、表类

from sqlalchemy.ext.declarative importdeclarative_base
from sqlalchemy importColumn
from sqlalchemy importInteger,String
Base =declarative_base()
classUsers(Base):
    __tablename__ = 'users'
    id = Column(Integer, primary_key=True)
    name = Column(String(32), index=True, nullable=False)
    depart_id = Column(Integer)

b、创建/删除表

from sqlalchemy importcreate_engine
defcreate_all():
    engine =create_engine(
        "mysql+pymysql://root:密码@127.0.0.1:3306/数据库?charset=utf8",
        max_overflow=0,  #超过连接池大小外最多创建的连接
        pool_size=5,  #连接池大小
        pool_timeout=30,  #池中没有线程最多等待的时间,否则报错
        pool_recycle=-1  #多久之后对线程池中的线程进行一次连接的回收(重置)
)
    Base.metadata.create_all(engine)
defdrop_all():
    engine =create_engine(
        "mysql+pymysql://root:密码@127.0.0.1:3306/数据库?charset=utf8",
        max_overflow=0,  #超过连接池大小外最多创建的连接
        pool_size=5,  #连接池大小
        pool_timeout=30,  #池中没有线程最多等待的时间,否则报错
        pool_recycle=-1  #多久之后对线程池中的线程进行一次连接的回收(重置)
)
    Base.metadata.drop_all(engine)
if __name__ == '__main__':
    #drop_all()
    create_all()

注意:sqlalchemy的表类不像django的orm那样可以更新,只能删除和重建

免责声明:文章转载自《sqlalchemy 数据库操作》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇kcp-go源码解析stacking算法原理及代码下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

spring security 控制用户信息用户加密 缓存用户信息

1.MD5加密 任何一个正式的企业应用中,都不会在数据库中使用明文来保存密码的,我们在之前的章节中都是为了方便起见没有对数据库中的用户密码进行加密,这在实际应用中是极为幼稚的做法。可以想象一下,只要有人进入数据库就可以看到所有人的密码,这是一件多么恐怖的事情,为此我们至少要对密码进行加密,这样即使数据库被攻破,也可以保证用户密码的安全。 最常用的方法是使用...

python--GIL锁

GIL锁 本节目录 一 介绍 二 GIL介绍 三 GIL与Lock 四 GIL与多线程 五 多线程性能测试 一 背景知识 ''' 定义: In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple native threads fr...

[转]C#从MySQL数据库中读取

实现了数据库的建表、存储数据的功能后,还需要实现数据库的读取,综合查资料后发现有两种发发比较好; 一、如需要界面操作,需要将数据表格在界面上显示出来的话,需要使用DataGrid控件。 基本操作流程:声明一个数据适配器和数据集,并将读取指令赋值给数据适配器的指令,打开数据库,执行数据适配器的指令,然后将适配器读取的数据填充到数据集中,最后将数据集通过DAT...

python基础整理5——多进程多线程和协程

进程与线程 1.进程 我们电脑的应用程序,都是进程,假设我们用的电脑是单核的,cpu同时只能执行一个进程。当程序处于I/O阻塞的时候,CPU如果和程序一起等待,那就太浪费了,cpu会去执行其他的程序,此时就涉及到切换,切换前要保存上一个程序运行的状态,才能恢复,所以就需要有个东西来记录这个东西,就可以引出进程的概念了。 进程就是一个程序在一个数据集上的一次...

Qt之操作数据库(SQLite)

SQLite 简介 SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、C#、PHP、Java等,还...

将xml文件数据导入到sql中[原]

        设计数据库的时候为了操作的方便,我们可以选择用xml格式文件来保存我们的数据表结构及其数据。这样的好处是多方面的,设计简单,操作方便,自己可以开发一个设计数据库表的应用程序直接对xml文件进行操作。其实另外一个好处是在最终使用的时候很容易将xml数据导入到任何我们想要的数据库中,不过注明的是这中设计的方法只在于简便,不可能达到其他专门工具的...