码迷,mamicode.com
首页 > 其他好文 > 详细

RoR - Advanced Querying

时间:2019-04-13 19:05:37      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:data   操作   name   ase   debug   多少   ike   condition   hat   

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

标签:data   操作   name   ase   debug   多少   ike   condition   hat   

原文地址:https://www.cnblogs.com/vixennn/p/10702240.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!