目录:

     返回顶部

  1、什么是ormorm是一种术语而不是软件)

      1)orm英文全称object relational mapping,就是对象映射关系程序
      2)简单来说我们类似python这种面向对象的程序来说一切皆对象,但是我们使用的数据库却都是关系型的
      3)为了保证一致的使用习惯,通过orm将编程语言的对象模型和数据库的关系模型建立映射关系
      4)这样我们在使用编程语言对数据库进行操作的时候可以直接使用编程语言的对象模型进行操作就可以了,
           而不用直接使用sql语言

                  04:sqlalchemy操作数据库

  2、ORM作用
      1)隐藏了数据访问细节,“封闭”的通用数据库交互,ORM的核心。他使得我们的通用数据库交互变得简单
           易行,并且完全不用考虑该死的SQL语句。快速开发,由此而来
      2)ORM使我们构造固化数据结构变得简单易行。

  3、ORM缺点
      1)无可避免的,自动化意味着映射和关联管理,代价是牺牲性能
      2)现在的各种ORM框架都在尝试使用各种方法来减轻这块(LazyLoad,Cache),效果还是很显著的。

     返回顶部

   1、在win10中直接用pip3安装即可

      pip3 install sqlalchemy

  2、sqlalchemy可以支持多种数据库的连接使用:下面是常用的几种

      MySQL-Python
          mysql+mysqldb://<user>:<password>@<host>[:<port>]/<dbname>

      pymysql
          mysql+pymysql://<username>:<password>@<host>/<dbname>[?<options>]

      MySQL-Connector
          mysql+mysqlconnector://<user>:<password>@<host>[:<port>]/<dbname>

      cx_Oracle
          oracle+cx_oracle://user:pass@host:port/dbname[?key=value&key=value...]

      更多详见 http://docs.sqlalchemy.org/en/latest/dialects/index.html

  3、sqlalchemy说明

      1) sqlalchemy的底层还是对mysqldb, pymysql的封装
      2) 我们不用写原生SQL了,但是sqlalchemy执行的时候还是要用原生SQL
      3) Sqlalchemy就是通过使用mysqldb, pymysql等来执行原生SQL语句

  4、创建表

    1. 使用原生sql创建表

        CREATE TABLE user (
          id INTEGER NOT NULL AUTO_INCREMENT,
          name VARCHAR(32),
          password VARCHAR(64),
          PRIMARY KEY (id)
        )

    2. 使用sqlalchemy创建的两种方法

from sqlalchemy import Table, MetaData, Column, Integer, String, ForeignKey
from sqlalchemy.orm import mapper
 
metadata = MetaData()
 
user = Table('user', metadata,
            Column('id', Integer, primary_key=True),
            Column('name', String(50)),
            Column('fullname', String(50)),
            Column('password', String(12))
        )
 
class User(object):
    def __init__(self, name, fullname, password):
        self.name = name
        self.fullname = fullname
        self.password = password
 
mapper(User, user) 
法1:使用sqlalchemy创建表(不常用

相关文章: