首页 > 数据库技术 > 详细

sqlalchemy基础教程

时间:2019-04-11 19:34:58      阅读:117      评论:0      收藏:0      [点我收藏+]

一、基本配置

  • 连接数据库

  外部连接数据库时,用于表名数据库身份的一般是一个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基础教程

原文:https://www.cnblogs.com/cola-1998/p/10691629.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!