开发者日志sqlalchemy 7.31
sqlalchemy 创建表
使用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) # 删除所有
关于索引,
上面的创建表的形式使BTREE索引,还有hash索引
Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。
参考博客:https://blog.csdn.net/kidoo1012/article/details/70207519