Seeding the Database:

db/seed.rb 可以提供预设data

rake db:seed

#seeds.rb 

Person.create! [
{first_name : "kalman", last_name: "Smith", age:33 },
{first_name : "John", last_name: "Whatever", age: 27},
{first_name: "Michael", last_name: "Smitch" ,age: 15}
] rake db:seed #=> 将上面数据写入数据库

rails db

.headers on

.mode columns

显示数据库内容

Including SQL fragments:

Person.where("age BETWEEN 30 and 33").to_a
#=> 选出年龄在30与33之间的人转化成array输出 Person.find_by("first_name LIKE '%man'")
#=> 选出名中带有man的人

SQL injection:

*操作原始SQL以侵入数据库
*这包括恶意删除表或获取机密信息

Array and Hash Condition Synatx:

Array Syntax:

允许使用 ? 后跟值(参数)指定SQL片段
自动对输入值执行转换并转义SQL中的字符串
不受SQL影响
类似于Java中的PraveReDebug语句

Person.where("age BETWEEN ? AND ?". 28 ,34 ).to_a

Person.where("first_name LIKE ? OR last_name LIKE ?", '%J%','%J%').to_a

Array Syntax 有两个小问题:

1. 必须追踪? 在其后面给予数值

2.多有少个? 就必须赋多少值

Hash Condition Syntax:

Person.where("age BETWEEN :min_age AND :max_age", min_age:28, max_age:32).to_a 

Person.where("first_name LIKE :pattern OR last_name LIKE :pattern", pattern: '%J%').to_a

RoR - Advanced Querying的更多相关文章

  1. Stackoverflow/dapper的Dapper-Extensions用法(一)

    Dapper-Extensions Dapper Extensions is a small library that complements Dapper by adding basic CRUD ...

  2. dapper的Dapper-Extensions用法(一)

    dapper的Dapper-Extensions用法(一) Dapper-Extensions Dapper Extensions is a small library that complement ...

  3. JSON in SQL Server 2016

    JSON functions in SQL Server enable you to analyze and query JSON data, transform JSON to relational ...

  4. webpy使用mysql数据库操作(web.database)

    webpy_web.database模块 webpy框架中使用mysql管理数据库有两种方法,一种是使用python里面的MySQLdb模块: import MySQLdb 还有一种就是用webpy自 ...

  5. 获取文件的缩略图Thumbnail和通过 AQS - Advanced Query Syntax 搜索本地文件

    演示如何获取文件的缩略图 FileSystem/ThumbnailAccess.xaml <Page x:Class="XamlDemo.FileSystem.ThumbnailAcc ...

  6. ARM概论(Advanced RISC Machines)

    简介 ARM7是32 位通用微处理器ARM(Advanced RISC Machines)家族中的一员,具有比较低的电源消耗和良好的性价比, 基于(精简指令)RISC结构,指令集和相关的译码机制与微程 ...

  7. The World's Only Advanced Operating System

    The World's Only Advanced Operating System

  8. Advanced Office Password Recovery如何设置快捷方式

    一般软件安装成功之后都会在桌面上形成快捷方式以方便使用,但是一些用户发现Advanced Office Password Recovery这种office密码破解工具安装成功后桌面上没有出现快捷方式, ...

  9. Advanced Office Password Recovery安装后显示是英文版的

    一些才开始接触Advanced Office Password Recovery(即AOPR)的朋友,在安装Advanced Office Password Recovery的时候可能发现Advanc ...

随机推荐

  1. 分析轮子(七)- RandomAccess.java

    1:还是先上一个类的继承关系比较图吧! 2:看一下 RandomAccess.java 的源码,空空如也,什么都没有,那她有什么用处呢? /** * Marker interface used by ...

  2. CDC在sql server 2017中无法使用的问题

    Symptom === sp_MScdc_capture_job in the CDC job raised error message Msg 217, Level 16, State 1, Pro ...

  3. Mybatis(二) 全局配置文件详解

    这节来说说全局配置文件的东西,非常简单.看一遍就懂了. --WH 一.全部配置内容 SqlMapConfig.xml的配置内容和顺序如下,顺序不能乱.现在来对这些属性的意思一一进行讲解. 二.prop ...

  4. 解决MAMP启动mysql服务 但是Navicat连接不上

    问题重现 错误信息 2003 - Can't connect to MySQL server on '127.0.0.1' (61 "Connection refused") 解决 ...

  5. 如何在 Fiddler Script 中 自定义 修改 Request 、 Response

    Fiddler是一个http协议调试代理工具,方便进行http请求的拦截处理.改写请求.返回值等. 在Rules菜单下:  此次更改请求 头 ,so go to OnBeforeRequest 或者 ...

  6. Cxf weblogic 报错: when resolving method "javax.xml.bind.JAXBElement

    Cxf weblogic 报错: when resolving method "javax.xml.bind.JAXBElement ============================ ...

  7. python目录遍历文件名称替换

    # -*- coding:utf-8 -*- import os import os.path import shutil import chardet import codecs mysql_fil ...

  8. 深度解剖session运行原理

    已经大半年没有更新博客了,一方面有比博客更重要的事情要做,另外一方面也没有时间来整理知识,所以希望在接下来的日子里面能够多多的写博客来与大家交流 什么是session session的官方定义是:Se ...

  9. 命令行部署SharePoint2016离线前提条件和添加服务器的Feature

    前言 Sp2016的软件环境要求如下: 服务器场中的数据库服务器的最低要求: 以下各项之一: Microsoft SQL Server 2014 Service Pack 1 (SP1) 的 64 位 ...

  10. windows修改PowerShell(命令提示符)默认中文编码方式

    如果以下方法都没有作用的话,可以直接在代码中调用<stdlib.h>中的system("mode con cp select=65001")或者是system(&quo ...