当前位置: 首页 > news >正文

龙岗网站建设_公司推广wordpress 如何登陆地址

龙岗网站建设_公司推广,wordpress 如何登陆地址,wordpress结构化数据,wordpress忘记账号一、ORM 要了解 ORM 首先了解以下概念。 什么是持久化 持久化 (Persistence)#xff0c;即把数据#xff08;如内存中的对象#xff09;保存到可永久保存的存储设备中#xff08;如磁盘#xff09;。持久化的主要应用是将内存中的数据存储在关系型的数据库中#xff0c;…一、ORM 要了解 ORM 首先了解以下概念。 什么是持久化 持久化 (Persistence)即把数据如内存中的对象保存到可永久保存的存储设备中如磁盘。持久化的主要应用是将内存中的数据存储在关系型的数据库中当然也可以存储在磁盘文件中、XML 数据文件中等等。 什么是持久层 持久层 (Persistence Layer)即专注于实现数据持久化应用领域的某个特定系统的一个逻辑层面将数据使用者和数据实体相关联。 什么是 ORM ORM(Object Relation Mapping)对象关系映射。主要实现模型对象到关系数据库数据的映射。 优点 只需要面向对象编程统一风格不需要使用 SQL 语言。 实现数据模型和数据库的解藕及不用关心是什么数据库更改简单配置即可更换数据库。 缺点 有部分性能损耗 二、SQLAlchemy SQLAlchemy 是 Python 语言开发的 ORM 框架是 ORM 具体实现的实例。 SQLAlchemy中文文档https://www.osgeo.cn/sqlalchemy/ 三、Flask-SQLAlchemy Flask-SQLAlchemy 是基于 SQLAlchemy 进行高度封装、简化适用于 Flask 矿建的 Flask 组件。 Flask-SQLAlchemy 中文文档http://www.pythondoc.com/flask-sqlalchemy/ 四、基本配置 安装 flask_sqlalchemy pip install flask_sqlalchemy连接 MySQL 数据库 SQLALCHEMY_DATABASE_URI ‘mysql://root:g3nt00567127.0.0.1:3306/vnet_user_dev’ 默认情况下MySQL 使用的是 mysqlclient 驱动。当然也可以使用其他驱动如mysqldb、pymysql 等。 SQLALCHEMY_DATABASE_URI ‘mysqlmysqldb://root:g3nt00567127.0.0.1:3306/vnet_user_dev’ SQLALCHEMY_DATABASE_URI ‘mysqlpymysql://root:g3nt00567127.0.0.1:3306/vnet_user_dev’ 3. 连接其他数据库 oracle SQLALCHEMY_DATABASE_URI ‘oracle://root:g3nt00567127.0.0.1:3306/vnet_user_dev’ mssql SQLALCHEMY_DATABASE_URI ‘mssql://root:g3nt00567127.0.0.1:3306/vnet_user_dev’ sqlite SQLALCHEMY_DATABASE_URI ‘sqlite:tmp/test.db’ redis REDIS_URL ‘redis://127.0.0.1:6379/1’ 4. 其他配置 输出原始 SQL SQLALCHEMY_ECHO False 数据库连接池的大小 SQLALCHEMY_POOL_SIZE 1000 动态追踪修改设置 SQLALCHEMY_TRACK_MODIFICATIONS False 更多配置请参考官方链接http://www.pythondoc.com/flask-sqlalchemy/config.html 五、模型定义 字段类型 Integer 普通整数一般是32位 SmallInteger 取值范围小的整数一般是16位 BigInteger 不限制精度的整数 Float 浮点数 Numeric 普通整数一般是32位 String 变长字符串 Text 变长字符串对较长或不限长度的字符串做了优化 JSON JSON 数据 Unicode 变长 Unicode 字符串 UnicodeText 变长 Unicode 字符串对较长或不限长度的字符串做了优化 Boolean 布尔值 Date 日期 Time 时间 DateTime 日期和时间 LargeBinary 二进制文件类型属性 primary_key 如果为True代表表的主键 unique 如果为True代表这列不允许出现重复的值 index 如果为True为这列创建索引提高查询效率 nullable 如果为True允许有空值如果为 False不允许有空值 default 为这列定义默认值示例代码 demo.py #!/usr/bin/env python3 # -*- coding: UTF-8 -*-from app import db from app.lib.datetimeLib import dt# 用户表 class Users(db.Model):__tablename__ users# idid db.Column(db.BigInteger, primary_keyTrue, autoincrementTrue)# 电话phone db.Column(db.String(11), uniqueTrue, indexTrue)# 邮箱mail db.Column(db.String(64), nullableTrue, defaultNone)# 用户username db.Column(db.String(128), nullableTrue, defaultNone)# 密码password db.Column(db.String(128), nullableFalse)# tokentoken db.Column(db.String(256), uniqueTrue)# 盐值salt db.Column(db.String(32), nullableFalse)# 用户状态status db.Column(db.Integer, nullableFalse, defaultTrue)# 创建时间create_time db.Column(db.DateTime, defaultdt.datetime_orm)# 修改时间update_time db.Column(db.DateTime, defaultdt.datetime_orm, onupdatedt.datetime_orm)# 乐观锁version db.Column(db.BigInteger, nullableFalse)__mapper_args__ {version_id_col: version}def __repr__(self):return User (%s) % self.id六、模型操作 1. 过滤器 filter() 把过滤器添加到原查询上返回一个新查询 filter_by() 把等值过滤器添加到原查询上返回一个新查询 limit() 使用指定的值限定原查询返回的结果 offset() 偏移原查询返回的结果返回一个新查询 order_by() 根据指定条件对原查询结果进行排序返回一个新查询 group_by() 根据指定条件对原查询结果进行分组返回一个新查询 2. 执行器 all() 以列表形式返回查询的所有结果 first() 返回查询的第一个结果如果未查到返回 None get() 返回指定主键对应的行如不存在返回 None count() 返回查询结果的数量 paginate() 返回一个 Paginate 对象它包含指定范围内的结果 3. 新增 user Users(usernameusername, passwordpassword) db.session.add(user) db.session.commit() 先将对象添加到数据库的会话中然后在提交到数据库具体细节请参考对应的数据库。 如果我们想立即返回刚刚新建数据的 id 该如何实现呢其实也有简单的方法通过 flush 即可。 db.session.add(user) db.session.flush() user_id user.id db.session.commit() 在提交之前预先将任何剩余的状态刷新到数据库这样数据库是不可见的但是数据已经存在了等拿到 id 之后再提交。 4. 删除 删除记录是十分类似的使用 delete() 实现删除功能。 db.session.delete(user) db.session.commit() 5. 修改 user Users.query.get(1) user.username ‘new user’ db.session.commit() 6. 查询 查询所有用户数据 Users.query.all() 查询有多少个用户 Users.query.count() 查询第一个用户 Users.query.first() 查询 id 为 1 的用户 Users.query.get(1) Users.query.filter(Users.id 1).first() Users.query.filter_by(id1).first() 查询名字结尾字符为 vnet 的所有数据 Users.query.filter(Users.name.endswith(‘vnet’)).all() 查询名字开始字符为 vnet 的所有数据 Users.query.filter(Users.name.startswith(‘vnet’)).all() 查询名字包含字符为 vnet 的所有数据 Users.query.filter(Users.name.contains(‘vnet’)).all() 查询名字不等于 vnet 的所有数据 Users.query.filter(not_(Users.name ‘vnet’)).all() Users.query.filter(Users.name ! ‘vnet’).all() 查询名字和邮箱都以 vnet 开头的所有数据 Users.query.filter(and_(Users.name.startswith(‘vnet’), Users.email.startswith(“li”))).all() Users.query.filter(Users.name.startswith(‘vnet’), Users.email.startswith(‘vnet’)).all() 查询 id 为 [1, 3, 5, 7, 9] 的用户列表 Users.query.filter(Users.id.in_([1, 3, 5, 7, 9])).all() 查询所有用户数据并以邮箱正序排序 Users.query.order_by(Users.email).all() 查询所有用户数据并以邮箱倒序排序 Users.query.order_by(Users.email.desc()).all() 查询指定每页 3 条属于第 2 页的数据 Users.query.paginate(2, 3, False).items 主键查询 Users.query.get(1) 精确查询 Users.query.filter_by(name‘vnet’).all() 模糊查询 Users.query.filter(Users.name.contains(‘vnet’)).all() 返回查询到第一个对象 Users.query.filter_by(name‘vnet’).first() 返回查询到所有的对象 Users.query.filter_by(name‘vnet’).all() 逻辑非查询 Users.query.filter(Users.name!‘vnet’).all() 逻辑与查询 from sqlalchemy import and_ Users.query.filter(and_(Users.name!‘vnet’, Users.email.endswith(‘163.com’))).all() 逻辑或查询 from sqlalchemy import or_ Users.query.filter(or_(Users.name!‘vnet’, Users.email.endswith(‘163.com’))).all() 取反查询 from sqlalchemy import not_ Users.query.filter(not_(Users.name‘vnet’)).all() 原生 SQL data list(db.session.execute(sql)) 函数 from sqlalchemy import func users Users.query.filter(func.find_in_set(id, id_set).all() 排序 from sqlalchemy import desc, asc users Users.query.order_by(desc(‘id’)).filter(*)
http://www.dnsts.com.cn/news/257492.html

相关文章:

  • 网站推广的工作内容深圳做网站商
  • 网站建设框架图温州市人才市场招聘网最新招聘
  • 沈阳网站建设咨询如何建设一个读书的网站
  • 网站如何管理广东制冷设备网站建设费用
  • 看守所加强自身网站建设工作新站网站推广公司
  • 徐州网站开发如何苏州市城乡和建设局网站首页
  • 怎样可以查看网站是由哪个公司做的网站开发多少钱农民
  • 做海报有什么好的网站推荐资阳网站建设公司
  • 免费的企业黄页网站易班网站建设的意义
  • 网站关键词添加后的后果wordpress商城实战教程
  • app网站搭建上海装修公司排名榜前30名
  • 海口网站开发师招聘wordpress评论删除
  • 企业官方网站建设费用免费制作手机网页
  • 做网站3年北京网页设计师培训多少钱
  • 婚纱摄影团购网站模板wordpress痞子
  • 河源网站推广做一个网页版面多少钱
  • 网站数据比较天津各区房价一览表
  • 苏州网站开发建设公司外链下载
  • 网站核查怎么抽查主页去掉wordpress
  • 浙江省建设执业注册中心网站网站 备案 初审
  • dw怎么做别人可以看的网站天津建设银行招聘网站
  • 计算机专业设计一个网站有赞小程序官网
  • 网站后台开发 必备技能永久二级域名分发平台
  • 微餐饮网站建设平台做网站线上线下价格混乱
  • 关于百度网站的优缺点网站建设中英文
  • 小程序开发平台需要网站吗中英文网站用同域名
  • 广东网站seo营销网站规划的认识
  • 西宁网站系统建设未来做那些网站能致富
  • 武进附近做网站的公司有哪些简述设计优秀电子商务网站的成功要素
  • 广州学校论坛网站建设外贸做零售的网站