SQLAlchemy的使用一
一、导入SQLAlchemy的包
pip3installSQLAlchemy
二、声明基类
之所以声明基类,是因为自定义数据表类必须继承这个基类。fromsqlalchemy.ext.declaractiveimportdeclaractive_baseBase=declaractive_base()
三、建立自定义数据表
注意:
一个表结构类必须包含一个__tablename__和primary_key的字段
“__tablename__”需要和数据库中的表明对应
#示例fromsqlalchemyimportColumn,String#定义User对象:classUser(Base):#表的名字:__tablename__=user#表的结构:#表示id是String类型,长度为20,是主键id=Column(String(20),primary_key=True)#表示name是String类型,长度为20name=Column(String(20))在自定义数据表这里,并不是需要定义出数据库中所有的字段,而是定义出你需要使用的字段。如上所示,我需要用到User表中的id和name字段,所以我按照这两个字段在数据库中的格式进行定义。数据库中User表中的其他字段比如phone、email等当前程序使用不上,故可以不进行定义。下面是一些自定义数据表中会经常用到的字段类型:
#需要从sqlalchemy包导入SmallIntegerIntegerBigIntegerFloatStringTextBooleanDate、DateTime、Time
下面是Column的详细参数
Column(nullable=True,#可以为空autoincrement=True,#数值自增default=red#指定默认值primary_key=True#设为主键ForeignKey=table_name.id#指定外键,ForeignKey需要导入unique=True#设定此字段键值唯一,不允许出现重复值。)四、初始化数据库链接
下面以适用范围最广的Mysql为例,
其他类型的数据库也可以进行链接,但是格式需要进行变化。
#初始化数据库连接:engine=create_engine(mysql+mysqlconnector://root:password
localhost:/test)create_engine()用来初始化数据库连接。
SQLAlchemy用一个字符串表示连接信息:
数据库类型+数据库驱动名称://用户名:口令
机器转载请注明:http://www.sonphie.com/jbzl/14405.html