美文网首页
sqlalchemy--一个神奇的模块

sqlalchemy--一个神奇的模块

作者: 恶人未满 | 来源:发表于2017-11-09 19:28 被阅读0次

    按照惯例,先吹一波

    sqlachemy是python 操作数据库的一个库。能够进行 orm 映射官方文档sqlachemy。sqlachemy“采用简单的Python语言,为高效和高性能的数据库访问设计,实现了完整的企业级持久模型”。sqlachemy的理念是,SQL数据库的量级和性能重要于对象集合;而对象集合的抽象又重要于表和行。

    首先下载模块-->pip install sqlachemy

    接下来就是干货了。

    #引入需要的模块和包

    from sqlalchemy import Column, String, Integer, create_engine, and_

    #Column映射数据库的列即字段,String是字符串类型,Integer是整型,create_engine用来创建一

    #个引擎 ,and_是逻辑与

    from sqlalchemy.orm import sessionmaker

    #sessionmaker用来创建一个关联数据库的会话对象

    from sqlalchemy.ext.declarative import declarative_base

    #declarative_base是一个元类用于构建一个基类

    # sqlalchemy默认使用mysqldb完成和数据库的连接操作

    #由于mysqldb没有支持python3.4+版本,要使用pymysql替代

    importpymysql

    pymysql.install_as_MySQLdb()

    #创建和数据库的连接引擎对象:通过引擎对象可以直接操作sql语句

    engine=create_engine("mysql://root:123456@localhost:3306/tornado",echo=True)

    #构建和数据库的会话对象

    db_session=sessionmaker(bind=engine)

    #构建一个基础模型类:自定义的所有类型继承自该类型

    BaseModel=declarative_base()

    #定义自定义类型

    classUser(BaseModel):

              #自定义类型和数据库中表的关联关系

            __tablename__="user"

            #创建类型的属性,同时关联数据库中表的字段

            id=Column(Integer,primary_key=True,autoincrement=True)

            name=Column(String(50))

            age=Column(Integer)

    #接下来就可以定义自己需要的函数进行数据库的增删改查了:

    我拿增加举例:

    defcreate_user(name,pwd):

        #打开数据库会话

        session=db_session()

        #创建一个模型对象

        user=User(username=name,password=pwd)

        #增加对象数据到数据库

        session.add(user)

        #增删改操作完成,提交事务【提交数据】查询不用提交

        session.commit()

        #注意:数据库操作完成之后,关闭和数据库之间的会话

        session.close()

    希望能对大家有所帮助

    相关文章

      网友评论

          本文标题:sqlalchemy--一个神奇的模块

          本文链接:https://www.haomeiwen.com/subject/kvypjxtx.html