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. Effective Java 第三版——73.抛出合乎于抽象的异常

    Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...

  2. POSTMAN模拟AJAX请求

    环境: 1.测试工具:POSTMAN 2.调试框架:THINKPHP 3.开发工具:PHPSTORM 需求: 1.判断HTTP提交过来的请求是否为AJAX: 是:进行,修改.新增 否:进行查询,并返回 ...

  3. python 验证码识别示例(一) 某个网站验证码识别

    某个招聘网站的验证码识别,过程如下 一: 原始验证码: 二: 首先对验证码进行分析,该验证码的数字颜色有变化,这个就是识别这个验证码遇到的比较难的问题,解决方法是使用PIL 中的  getpixel  ...

  4. Linksys WRT610n V2 刷ddwrt后安装entware-ng,使用opkg

    安装步骤很简单,首先启用usb.jffs.等. 然后: mkdir -p /jffs/opt mount -o bind /jffs/opt /opt wget -O - http://pkg.ent ...

  5. ero-configuration Web Application Debugging with Xdebug and PhpStorm

    1. Install Xdebug To use Xdebug with PhpStorm for debugging PHP applications, you need to have a PHP ...

  6. docker容器运行与退出

    #下载centos镜像,运行一个名为mycentos的容器,并在容器里运行/bin/bash docker run -ti --name mycentos centos /bin/bash #退出 e ...

  7. (转)x264的一些参数设置对编码效率的影响

    转自:http://www.cnblogs.com/wainiwann/p/5647521.html i_luma_deadzone[0]和i_luma_deadzone[1]分别对应inter和in ...

  8. Linux 下MQ的安装和配置亲测

    开篇之前奉上几条黄金链接: MQ参考文档 http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0m0/index.jsp?topic=%2Fcom.ib ...

  9. Linux下配置环境变量—— .bashrc 和 /etc/profile

    转载:https://blog.csdn.net/sun8112133/article/details/79901527 首先简单说一下什么是环境变量?环境变量简单的说就是当前环境下的参数或者变量.如 ...

  10. Flume的监控参数

    参考 flume的http监控参数说明 普通的flume启动命令 bin/flume-ng agent -c conf -f conf/flume-conf.properties -n agent - ...