Sqlalchemy实战入门–建表
现在所有的sqlalchemy入门教程都比较笼统,所以自己写一份教程。
安装
1 |
安装mysql连接包 |
创建orm模型
1 |
from sqlalchemy import Column |
解释其中字段名称:
Column:表示列字段名,其中需要传递参数如下:
name: 数据库表字段名称;
type_: 数据库类型,其中常用以下几个:
String –> varchar(),其中可以指定length大小,如:
String(255) –> varchar(255)
Integer –> int(11) , 整型
Datetime –> datetime
TEXT ..等等
primary_key: 是否为主键;
autoincrement: True,为自增,在插入时不用赋值;
nullable: 是否可以为空
server_default: 数据库端的默认值:
server_default=func.now() 也就是说 插入时,在数据库执行时使用 insert into (insert_time) values(now())
defalut : 在程序端给其赋值为 0
以上,我们的一张映射表创建成功;
使用sqlalchemy查看生成表语句
1 |
>>>from sqlalchemy.schema import CreateTable |
sqlachemy.schema中存在很多对Model视图的操作,这里我们可以用其Createtable ,就可以看下当前表的创建语句了。
审查当前模型的参数
使用sqlchemy的inspect
1 |
from sqlalchemy import inspect |
提供一个to_dict函数
1 |
def to_dict(cls): |
提供一个DictMixin
1 |
class DictMixin(object): |
创建所有表
数据库建立连接
使用sqlalchemy连接数据库,我们可以通过需要以下几步:
1 |
from sqlalchemy.engine import create_engine |
使用engine进行原始sql的执行
1 |
conn = engine.connect() |
第二种 :配合text查询
1 |
from sqlalchemy import text |
注意
sqlalchemy的数据库池的管理
默认创建create_engine的时候,其以下几个是默认值管理数据库连接池:
所以数据库连接池最大连接数等于: 15