#encoding: utf-8

from sqlalchemy import create_engine,Column,Integer,String,Float,func,and_,or_,\
DateTime
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
from random import randint
from datetime import datetime HOSTNAME = '127.0.0.1' PORT = 3306 DATABASE = 'first_sqlalchemy' USERNAME = 'root' PASSWORD = '' #dialect+driver://username:password@host:port/database
DB_URI = "mysql+pymysql://{username}:{password}@{host}:{port}/" \
"{db}?charset=utf8".format(username=USERNAME,password=PASSWORD,host=HOSTNAME,port=PORT,db=DATABASE) engine = create_engine(DB_URI) Base = declarative_base(engine) # Session = sessionmaker(engine)
# session = Session() session = sessionmaker(engine)() #Session(**local_kw) class Article(Base):
__tablename__ = 'article'
id = Column(Integer,primary_key=True,autoincrement=True)
title = Column(String(50),nullable=False)
create_time = Column(DateTime,default=datetime.now) def __repr__(self):
return '<article:{title}>'.format(title=self.title) # Base.metadata.drop_all()
#
# Base.metadata.create_all()
#
#
# for x in range(0,100):
# article = Article(title = 'title%s'%x)
# session.add(article)
# session.commit() #第一limit的用法,限制查询多少数据
article = session.query(Article).limit(10).all()#用limit限制只查询10个数据
print(article) #第二个参数offset的用法,本意是偏移量,在这里就是从多少开始查询
article_offset = session.query(Article).offset(10).all()
print(article_offset) #offset和limit联合起来用,就相当于python 的字符串和列表、元祖的切片操作
article_offset_limit = session.query(Article).offset(10).limit(5).all()
print(article_offset_limit) #如果查询最新的10篇文章,就可以用order_by 和 limit 一起用
article_order_by_limit = session.query(Article).order_by(Article.id.desc()).limit(10).all()
print(article_order_by_limit) #slice,本身就是切片的意思
article_order_by_slice = session.query(Article).order_by(Article.id.desc()).slice(0,10).all()
print(article_order_by_slice) #还有一个更简单的方法,就想python的列表切片操作 article_list_slice = session.query(Article).order_by(Article.id.desc())[0:10]
print(article_list_slice)

limit和offset、切片操作的更多相关文章

  1. 【Flask】Sqlalchemy limit, offset slice操作

    ### limit.offset和切片操作:1. limit:可以限制每次查询的时候只查询几条数据.2. offset:可以限制查找数据的时候过滤掉前面多少条.3. 切片:可以对Query对象使用切片 ...

  2. 92.QuerySet API中的切片操作详细使用

    切片操作: 使用情况分析:在我们的CSDN的个人主页会显示我们个人发布的多篇文章(20篇),如果还想查看更多,就可以点击最下方的"查看更多"按钮,在这里对首页的文章的个数的限制就用 ...

  3. Python array,list,dataframe索引切片操作 2016年07月19日——智浪文档

    array,list,dataframe索引切片操作 2016年07月19日——智浪文档 list,一维,二维array,datafrme,loc.iloc.ix的简单探讨 Numpy数组的索引和切片 ...

  4. python切片操作

    序列类型是其元素被顺序放置的一种数据结构类型,这种方式允许通过下标的方式来获得某一个数据元素,或者通过指定下标范围来获得一组序列的元素.这种访问序列的方式叫做切片.字符串也可以使用切片操作.切片操作符 ...

  5. Python序列的切片操作与技巧

    切片操作 对于具有序列结构的数据来说,切片操作的方法是:consequence[start_index: end_index: step]. start_index: 表示是第一个元素对象,正索引位置 ...

  6. 关于javascript里面仿python切片操作数组的使用方法

    其实在使用了好一段时间的 python之后,我觉得最让我念念不忘的并不是python每次在写函数或者循环的时候可以少用{}括号这样的东西(ps:其实也是了..感觉很清爽,而且又开始写js的时候老是想用 ...

  7. python学习之“切片操作从入门到精通”

    在python学习开发的过程中,我们总是不断的要对List(列表),Tuple(元组)有取值操作:假如我们有一个列表List1现在想取出1其中的前5个元素,改怎么操作呢? >>> L ...

  8. Numpy入门 - 数组切片操作

    本节主要演示数组的切片操作,数组的切片操作有两种形式:更改原数组的切片操作和不更改原数组的切片操作. 一.更改原数组的切片操作 import numpy as np arr = np.array([1 ...

  9. 【Python实践-4】切片操作去除字符串首尾的空格

    #利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法 def trim(s): while s[0:1]==' ': s=s[1:] while s[ ...

随机推荐

  1. spring + junit 测试

    spring + junit 测试 需要一个工具类 package com.meizu.fastdfsweb; import org.junit.runner.RunWith; import org. ...

  2. easyui datagrid 去除单击行选中事件

    转:http://www.xue163.com/588880/39049/390490560.html 解决方案: onClickRow: function (rowIndex, rowData) { ...

  3. 灰度图像--图像分割 Marr-Hildreth算子(LoG算子)

    学习DIP第49天 转载请标明本文出处:*http://blog.csdn.net/tonyshengtan *,出于尊重文章作者的劳动,转载请标明出处!文章代码已托管,欢迎共同开发: https:/ ...

  4. go之基本数据类型

    一.整形 Go语言里支持有符号和无符号两种整型.这里的符号就是正负号. 1.分类: 有符号的整型:int , int8 , int16 , int32 , int64 无符号的整型:uint,uint ...

  5. 25.Python逻辑运算符及其用法

    逻辑运算符是对真和假两种布尔值进行运算(操作 bool 类型的变量.常量或表达式),逻辑运算的返回值也是 bool 类型值. Python 中的逻辑运算符主要包括 and(逻辑与).or(逻辑或)以及 ...

  6. tomcat建立双向https安全连接

    参考:http://www.hangge.com/blog/cache/detail_992.htmltomcat连接器的框架是coyote,有关信息参考:http://blog.csdn.net/w ...

  7. docker Swarm mode集群

    基本概念 Swarm 是使用 SwarmKit 构建的 Docker 引擎内置(原生)的集群管理和编排工具. 使用 Swarm 集群之前需要了解以下几个概念. 节点 运行 Docker 的主机可以主动 ...

  8. kernel hacking的一些网站

    很全面的网站,下面的网站基本都可以从该地址找到. 新手必备 subscrible/unsubscrible mail list mail list archive kernel git mainlin ...

  9. SQLServer 简单数据拆分

    --1. 旧的解决方法(sql server 2000)   create table tb(id int,value varchar(30)) insert into tb values(1,'aa ...

  10. Hadoop : MapReduce中的Shuffle和Sort分析

    地址 MapReduce 是现今一个非常流行的分布式计算框架,它被设计用于并行计算海量数据.第一个提出该技术框架的是Google 公司,而Google 的灵感则来自于函数式编程语言,如LISP,Sch ...