数据库资料表的操作_Ruby_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > Ruby > 数据库资料表的操作

数据库资料表的操作

 2014/8/12 13:36:38  moneyinto  程序员俱乐部  我要评论(0)
  • 摘要:首先初始化一个数据库:rakedb:create;rakedb:migrate接着生成一个数据库和资料表:railsgmodelusername:stringpassword_digest:stringtoken:stringrakedb:migrate资料表有name和password_digest两个属性(password_digest是ruby的加密和判定方法,可以把它看成password和password_confirmation两个属性
  • 标签:数据库 数据 操作

首先初始化一个数据库:

?

class="shell" name="code">rake db :create;rake db :migrate

???

接着生成一个数据库和资料表:

?

rails g model user name:string  password_digest:string token:string 
rake db :migrate

?

资料表有name和password_digest两个属性(password_digest是ruby的加密和判定方法,可以把它看成password和password_confirmation两个属性)

?

?

资料表的新增

?

ActiveRecord提供了四种API,分别是save,save!,create,create!

下面就save和create比较说明一下,

在资料表中添加一条记录:

save方法:

a = User.new( :name => "moenyinto",:password =>"1",:password_confirmation => "1")
a.save

?

create方法:

User.create( :name => "moenyinto",:password =>"1",:password_confirmation => "1")

?

create的方法相当于new个新的记录并save保存

?

?

?

资料表的查询

?

有这样一张表User:

?

id name identity 1

money

teacher 2 into doctor 3 moneyinto teacher

?

find方法:?

User.find(2)     //找到id为2的那条记录

?

也可以用find_by_id,效果一样。

?

我们还可以用find_by_name,比如:

find_by_name("moneyinto")     //找到资料表中name属性值为moneyinto的记录

?

select方法:

我们有时不需要资料表中的所有数据,比如我们只需要姓名(name)

我们可以使用select

User.select("name")      //这样就选出了所有的姓名组成了一个新的数组

?

where方法:

我们根据条件筛选需要的记录,一般用where,

比如我们找到身份为老师的所有记录,可以这样写

User.where(:identity => 'teacher')

?

where使用很灵活,可以自己去深入研究一下。

?

order排序方法:

根据姓名进行排序可以这样写

User.order("name")       //这样输出的就是根据姓名排序好的表

?

查询的限定条件(limit,offset,first,last,all)

limit:限定取出的记录数

offset:可以忽略前几个记录不取出

first:取出第一条记录

last:取出最后一条记录

all:取出所有记录

User.limit(2)      //取出前两条记录
User.offset(1)     //从第二条记录开始取出所有的
User.first      
User.last
User.all

?

?

根据上面的可以串联着搭配写,比如写一个:

User.where(:identity => "teacher").offset(1)   //身份为老师的除了第一条的其他所有记录

?

?

?

资料表记录删除

User.delete(2)      //删除id为2的记录
User.find_by_name("moneyinto").delete      //删除姓名为moneyinto的记录

?

?

?

资料表记录统计

User.count      //统计数据表有多少条记录
User.where(:identity => "teacher").count    //统计身份为老师的记录有多少

?

?

?

上一篇: ASP.NET 视图引擎 下一篇: 没有下一篇了!
  • 相关文章
发表评论
用户名: 匿名