当前位置:Gxlcms > 数据库问题 > sqlalchemy基础教程

sqlalchemy基础教程

时间:2021-07-01 10:21:17 帮助过:28人阅读

一、基本配置

  • 连接数据库

  外部连接数据库时,用于表名数据库身份的一般是一个URL。在sqlalchemy中将该URL包装到一个引擎中,利用这个引擎可以扩展出很多ORM中的对象。

from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

engine = create_engine(‘mysql+mysqldb://gaogao:123456@localhost:3360/demodb‘)

Session = sessionmaker(bind=engine)

技术图片

 

  • 表的表示

SQLALchemy一次只让操作一个库,所以操作基本上操作对象就是表。sqlalchemy就是将表抽象成一个类.

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

engine =create_engine(‘mysql+mysqldb://gaogao:123456@localhost:3360/demodb‘)
Session = sessionmaker(bind=engine)

Base = declarative_base()

class Student(Base):
    __tablename__ = ‘Students‘
            Sno = Column(String(10),primary_key=True)
            Sname = Column(String(20),nullable=False,unique=True,index=True)#nullable就是决定是否not null,unique就是决定是否unique(唯一),设置index可以让系统自动根据这个字段为基础建立索引

    
            def __repr__(self):
                        return "<Student>{}:{}".format(self.Sname,self.Sno)

 其中 __repr__方法不是必须的,只是写在这里来使得调试时更加容易分清楚是谁

有了这个类就相当于建立出了一张表,可以编写多个类来建立起多张表,要注意它们都要继承Base类哦!

  • 启动实质性的连接
Base.metadata.create_all(engine)

session = Session() #实例化了一个事务

session.commit() #提交会话(事务),如果不提交的话就没有执行操作哦

session.roolback() #回滚会话

session.close() #关闭会话

sqlalchemy基础教程

标签:实例   没有   .com   外部连接   mic   就是   oca   rom   mod   

人气教程排行