码迷,mamicode.com
首页 > 数据库 > 详细

sqlalchemy基础教程

时间:2019-04-11 19:38:02      阅读:189      评论:0      收藏:0      [点我收藏+]

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

一、基本配置

  • 连接数据库

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

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!