Developers log sqlalchemy 7.31
sqlalchemy create a table
Create a table using sqlalchemy
- The method of introducing
from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column, Integer, String Model = declarative_base() # 创建基类,相当于Django中的 models.Model,被各个数据表类所继承
- Create a table
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是首字母 重复首字母 看索引
- Create a database using the engine
# 创建数据库的引擎 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) # 删除所有
About index,
The above table is created in the form of the BTREE index, as well as hash index
Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。
Reference blog: https://blog.csdn.net/kidoo1012/article/details/70207519