前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ruby 操作 Mysql(4)

Ruby 操作 Mysql(4)

作者头像
franket
发布2021-10-19 16:09:33
5330
发布2021-10-19 16:09:33
举报
文章被收录于专栏:技术杂记

更新数据

代码语言:javascript
复制
2.3.0 :066 > r=client.query("update test set name = 'minitest' where id=12")
 => nil 
2.3.0 :067 > r.class
 => NilClass 
2.3.0 :068 > r=client.query("select * from  test  where id=12")
 => #<Mysql2::Result:0x00000001b3b248 @query_options={:as=>:hash, :async=>false, :cast_booleans=>false, :symbolize_keys=>false, :database_timezone=>:local, :application_timezone=>nil, :cache_rows=>true, :connect_flags=>2147525125, :cast=>true, :default_file=>nil, :default_group=>nil, :host=>"192.168.100.105", :username=>"xxx", :password=>"xxx"}> 
2.3.0 :069 > r.each do |x|
2.3.0 :070 >     puts x 
2.3.0 :071?>   end
{"id"=>12, "name"=>"minitest"}
 => [{"id"=>12, "name"=>"minitest"}] 
2.3.0 :072 >

本地检查

代码语言:javascript
复制
mysql> select * from test where id=12;
+------+----------+
| id   | name     |
+------+----------+
|   12 | minitest |
+------+----------+
1 row in set (0.01 sec)

mysql> 

删除数据

代码语言:javascript
复制
2.3.0 :073 > r=client.query("delete  from  test  where id=12")
 => nil 
2.3.0 :074 > r=client.query("select * from  test  where id=12")
 => #<Mysql2::Result:0x00000001960590 @query_options={:as=>:hash, :async=>false, :cast_booleans=>false, :symbolize_keys=>false, :database_timezone=>:local, :application_timezone=>nil, :cache_rows=>true, :connect_flags=>2147525125, :cast=>true, :default_file=>nil, :default_group=>nil, :host=>"192.168.100.105", :username=>"xxx", :password=>"xxx"}> 
2.3.0 :075 > r.each do |x|
2.3.0 :076 >     puts x 
2.3.0 :077?>   end
 => [] 
2.3.0 :078 >

查询数据

代码语言:javascript
复制
2.3.0 :082 > r=client.query("select * from  test  limit 10")
 => #<Mysql2::Result:0x00000001c72800 @query_options={:as=>:hash, :async=>false, :cast_booleans=>false, :symbolize_keys=>false, :database_timezone=>:local, :application_timezone=>nil, :cache_rows=>true, :connect_flags=>2147525125, :cast=>true, :default_file=>nil, :default_group=>nil, :host=>"192.168.100.105", :username=>"xxx", :password=>"xxx"}> 
2.3.0 :083 > r.each do |x|
2.3.0 :084 >     puts x 
2.3.0 :085?>   end
{"id"=>1, "name"=>"hello1"}
{"id"=>2, "name"=>"hello2"}
{"id"=>3, "name"=>"hello3"}
{"id"=>4, "name"=>"hello4"}
{"id"=>5, "name"=>"hello5"}
{"id"=>6, "name"=>"hello6"}
{"id"=>7, "name"=>"hello7"}
{"id"=>8, "name"=>"hello8"}
{"id"=>9, "name"=>"hello9"}
{"id"=>10, "name"=>"hello10"}
 => [{"id"=>1, "name"=>"hello1"}, {"id"=>2, "name"=>"hello2"}, {"id"=>3, "name"=>"hello3"}, {"id"=>4, "name"=>"hello4"}, {"id"=>5, "name"=>"hello5"}, {"id"=>6, "name"=>"hello6"}, {"id"=>7, "name"=>"hello7"}, {"id"=>8, "name"=>"hello8"}, {"id"=>9, "name"=>"hello9"}, {"id"=>10, "name"=>"hello10"}] 
2.3.0 :086 >

可以对这个结果集做些手脚,以更方便操作

代码语言:javascript
复制
2.3.0 :111 > r.class
 => Mysql2::Result 
2.3.0 :112 > r.to_a.class
 => Array 
2.3.0 :113 > r.to_a[1]
 => {"id"=>2, "name"=>"hello2"} 
2.3.0 :114 > r.to_a[1]["id"]
 => 2 
2.3.0 :115 > r.to_a[1]["name"]
 => "hello2" 
2.3.0 :116 > r.to_a[0]["name"]
 => "hello1" 
2.3.0 :117 > r.to_a[9]["id"]
 => 10 
2.3.0 :118 >

兼容性

这个 gem 已经在 Linux 和 Mac OS X 上以下版本的 Ruby 中通过测试

  • Ruby MRI 1.8.7, 1.9.3, 2.0.0, 2.1.x, 2.2.x, 2.3.x
  • Ruby Enterprise Edition (based on MRI 1.8.7)
  • Rubinius 2.x, 3.x

这个 gem 已经通过以下版本的 MySQL 和 MariaDB 的测试

  • MySQL 5.5, 5.6, 5.7
  • MySQL Connector/C 6.0 and 6.1 (primarily on Windows)
  • MariaDB 5.5, 10.0, 10.1

命令汇总

  • ruby -v
  • gem source -l
  • gem install mysql2
  • irb

原文地址

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 更新数据
  • 删除数据
  • 查询数据
  • 兼容性
  • 命令汇总
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档