开发者日志sqlalchemy 7.31

开发者日志sqlalchemy 7.31

sqlalchemy 创建表

  1. 使用sqlalchemy创建一个表

    • 引入方法
    from sqlalchemy import create_engine
    from sqlalchemy.ext.declarative import declarative_base
    from sqlalchemy import Column, Integer, String
    
    Model = declarative_base()  # 创建基类,相当于Django中的 models.Model,被各个数据表类所继承
    
    • 创建表
    class Users(Model):                  # Users是对象
        __tablename__ = 'users'         # 映射到数据的表
        id = Column(Integer, primary_key=True, autoincrement=True)  # 主键 自增
        name = Column(String(32), index=True, nullable=False, unique=True)   # 普通索引  排序用到  1是索引2是首字母 重复首字母 看索引
    • 使用引擎创建数据库
    # 创建数据库的引擎
    from sqlalchemy.engine import create_engine
    
    engine = create_engine("mysql+pymysql://root:[email protected]:3306/sqlalchemy?charset=utf8")
    
    # 检索所有继承 Model 的Object 并在 engine 指向的数据库中创建 所有的表
    Model.metadata.create_all(engine)
    # Model.metadata.drop_all(engine)   # 删除所有

    1564559679847

    关于索引,

    上面的创建表的形式使BTREE索引,还有hash索引

    Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。

    参考博客:https://blog.csdn.net/kidoo1012/article/details/70207519

猜你喜欢

转载自www.cnblogs.com/Doner/p/11276941.html