SQLAlchemy的使用一

惭愧,以前只通过Django使用ORM。今日听人说起,没想到还有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

  • 上一篇文章:
  • 下一篇文章: 没有了
  • 网站简介| 发布优势| 服务条款| 隐私保护| 广告合作| 网站地图| 版权申明

    当前时间: