作家
登录

Dataset基于SQLAlchemy的便利工具

作者: 来源: 2017-10-19 09:31:17 阅读 我要评论

 = db['users'].find_one(username=username) 
  •  
  • session['user_id'] = user['id' 
  • 因为应用了session,所以须要设置一个secret_key用来做一些模块的hash

    Flask Web Development 中的内容:

    SECRET_KEY设备变量是通用密钥,可在Flask和多个第三方扩大中应用。如其名所示,加密的强度取决于变量值的机密度。不合的法度榜样要应用不合的密钥,并且要包管其他人不知道你所用的字符串。

    SECRET_KEY的感化主如果供给一个值做各类HASH, 是在其加密过程中作为算法的一个参数(salt或其他)。所以这个值的复杂度也就影响到了数据传输和存储时的复杂度。

    flask 变量规矩

    要给URL添加变量部分,你可以把这些特别的字段标记为<variable_name>, 这个部分将会作为定名参数传递到你的函数。规矩可以用<converter:variable_name>指定一个可选的转换器

    1. @route('/hello/<name>'
    2.  
    3. def index(name): 
    4.  
    5. return '<b>Hello {{name}}</b>!'  

    数据库萌芽

    对dataset的数据萌芽,应用冒号来为变量传参。

    select f.task_id from flags f where f.user_id = :user_id”’,user_id=session[‘user_id’])

    模板衬着

    应用render_template办法来衬着模板。将模板名和你想作为关键字的参数传入模板的变量

    MySQL

    IFNULL(expr1,expr2)

    如不雅expr1不是NULL,IFNULL()返回expr1,不然它返回expr2。

    连接MySQL数据库:

    IFNULL()返回一个数字或字符串值,取决于它被应用的高低文情况。

    max函数是用来找出记录集中最大年夜值的记录

    1. 对于left join,不管on后面跟什么前提,左表的数据全部查出来,是以要想过滤需把前提放到where后面
    2. 对于inner join,知足on后面的前提表的数据才能查出,可以起到过滤感化。也可以把前提放到where后面

    在应用left jion时,on和where前提的差别如下:

    1. on前提是在生成临时表时应用的前提,它不管on中的前提是否为真,都邑返回左边表中的记录。
    2. where前提是在临时表生成好后,再对临时表进行过滤的前提。这时已经没有left join的含义(必须返回左边表的记录)了,前提不为真的就全部过滤掉落。

    order by的用法 

    3、多个列属性进行分组

    当排序列含空值瓯:

    ASC:排序列为空值的元组最后显示。

    DESC:排序列为空值的元组最先显示。

    可以把null值看做无穷大年夜

    select * from s order by sno desc, sage asc

    group by的用法

    1、细化集函数(count,sum,avg,max,min)的感化对象:

    注:find_one速度很慢

    未对萌芽结不雅分组,集函数将感化于全部萌芽结不雅。

    对萌芽结不雅分组后,集函数将分别感化于每个组。

    2、GROUP BY子句的感化对象是萌芽的中心结不雅表

    分组办法:按指定的一列或多列值分组,值相等的为一组。

    应用GROUP BY子句后,SELECT子句的列名列表中只能出现分组属性(比如:sno)和集函数(比如:count())

    应用order by,一般是用来,按照萌芽结不雅的某一列(或多列)属性,进行排序(升序:ASC;降序:DESC;默认为升序)。

    select sno,count(cno) from sc group by sno

    select cno,grade,count(cno) from sc group by cno,grade

    4、应用HAVING短语筛选最终输出结不雅

    只有知足HAVING短语指定前提的组才输出。

    HAVING短语与WHERE子句的差别:感化对象不合。

    2、HAVING短语感化于组,大年夜中选择知足前提的组

    select sno,count(cno) from sc where grade>60 group by sno having count(cno)>3

    MySQL的左连接、右连接、等值连接

    1.左连接(left join )

    1. from flask import abort, redirect, url_for 
    2.  
    3. @app.route('/'
    4.  
    5. def index(): 
    6.  
    7. return redirect(url_for('login')) 
    8.  
    9. @app.route('/login'
    10.  
    11. def login(): 
    12.  
    13. abort(401) 
    14.  

    15.   推荐阅读

        如果AI能够测试软件修复bug,程序员会更轻松吗

      沙龙晃荡 | 去哪儿、陌陌、ThoughtWorks在主动化运维中的实践!10.28不见不散! 而Sapienz对象的工作方法是如许的。上班族会在日间进行正常的工作义务,并且申报他们发明的任何软件马脚。在>>>详细阅读


      本文标题:Dataset基于SQLAlchemy的便利工具

      地址:http://www.17bianji.com/lsqh/38023.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)