Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Ruby 操作 Mysql(4)

Ruby 操作 Mysql(4)

作者头像
franket
发布于 2021-10-19 08:09:33
发布于 2021-10-19 08:09:33
67500
代码可运行
举报
文章被收录于专栏:技术杂记技术杂记
运行总次数:0
代码可运行

更新数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
mysql> select * from test where id=12;
+------+----------+
| id   | name     |
+------+----------+
|   12 | minitest |
+------+----------+
1 row in set (0.01 sec)

mysql> 

删除数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
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 已经通过以下版本的 MySQLMariaDB 的测试

  • 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 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Ruby 操作 Mysql(3)
创建表 2.3.0 :025 > client.query("CREATE table testxxx.test (id int(10),name char(20))") => nil 2.3.0 :026 > 在本地进行检查 mysql> use testxxx; Reading table information for completion of table and column names You can turn off this feature to get a quicker start
franket
2021/10/19
3370
Ruby 操作 Mysql(2)
在对安全要求更严格的环境下,可以使用 SSL 加密连接,前提是客户端和服务端都得编译对 SSL 的支持
franket
2021/10/19
7180
Ruby 操作 MongoDB(2)
下面这张表是在不同版本 Ruby 语言,不同版本的 MongoDB 中此 Ruby Driver (mongo 2.2.5) 是否兼容的列表
franket
2021/10/19
4990
Ruby 操作 Mysql(1)
使用 Ruby 处理各种任务时难免会和数据库打交道,而 Mysql 又是一款应用极其广泛的数据库
franket
2021/10/19
4730
_Spring MVC处理响应附案例详解
会洗碗的CV工程师
2023/11/18
1970
_Spring MVC处理响应附案例详解
Spring MVC处理响应附案例详解
会洗碗的CV工程师
2023/10/14
2830
Spring MVC处理响应附案例详解
Ruby 操作 MongoDB(4)
还可以直接使用 update_one 2.3.0 :194 > a.update_one({:name => 'justfortest'},{"$inc" => { :newfiled => 1 }}) D, [2016-05-26T15:49:58.408074 #5174] DEBUG -- : MONGODB | 192.168.100.105:27017 | post.update | STARTED | {"update"=>"abctest", "updates"=>[{"q"=>{"name"
franket
2021/10/19
3460
Ruby 操作 MongoDB(9)
创建多个索引 2.3.0 :056 > db1[:test2].indexes.create_many([{:key => { name: 1 }, :unique => true },{:key => { label: -1 }}]) D, [2016-05-26T23:27:27.426590 #32905] DEBUG -- : MONGODB | 192.168.100.105:27017 | post.createIndexes | STARTED | {"createIndexes"=>"te
franket
2021/10/19
2290
Ruby 操作 MongoDB(5)
另外一种形式 2.3.0 :299 > a.find_one_and_replace({:name => 'xxx'},{:name => 'yyy'}) D, [2016-05-26T16:40:24.705708 #5174] DEBUG -- : MONGODB | 192.168.100.105:27017 | post.findandmodify | STARTED | {"findandmodify"=>"abctest", "query"=>{"name"=>"xxx"}, "update"=
franket
2021/10/19
3720
笔记整理-Ruby语言
CREATE DATABASE redmine CHARACTER SET utf8;
古道无仙
2021/03/11
2.8K0
线程,进程和协程
上述代码创建了10个“前台”,线程,然后控制器交给你了CPU,CPU根据指定算法进行调度,分片执行指令。
Wyc
2018/09/11
3800
Forklift ETL 基础(一)(1)
Forklift ETL 是基于 Ruby 语言用来对 Mysql 和 Elasticsearch 进行 ETL 的工具集
franket
2021/10/18
5720
Ruby 操作 MongoDB(3)
修改查询特性 2.3.0 :076 > c[:abctest].find().each do |x| 2.3.0 :077 > printf("%s\t=>\t%s\n",x["_id"],x
franket
2021/10/19
2690
ruby连接mysql代码
3. sudo apt-get install libmysqlclient-dev
用户8983410
2021/11/01
1.7K0
iOS缓存 NSCache详解及SDWebImage缓存策略源码分析你要知道的NSCache都在这里
你要知道的NSCache都在这里 转载请注明出处 https://cloud.tencent.com/developer/user/1605429 本篇文章首先会详细讲解NSCache的基本使用,NSCache是Foundation框架提供的缓存类的实现,使用方式类似于可变字典,由于NSMutableDictionary的存在,很多人在实现缓存时都会使用可变字典,但NSCache在实现缓存功能时比可变字典更方便,最重要的是它是线程安全的,而NSMutableDictionary不是线程安全的,在多线程环境下
WWWWDotPNG
2018/04/10
4.1K1
iOS缓存 NSCache详解及SDWebImage缓存策略源码分析你要知道的NSCache都在这里
RestTemplate 用法详解「建议收藏」
上篇文章带大家学习了一下基本的微服务环境搭建,由 provider 提供服务, consumer 通过 DiscoveryClient 先去 eureka 上获取 provider 的服务的地址,获取到地址之后再去调用相关的服务。在服务的调用过程中,使用到了一个工具,叫做 RestTemplate,RestTemplate 是由 Spring 提供的一个 HTTP 请求工具。在上文的案例中,开发者也可以不使用 RestTemplate ,使用 Java 自带的 HttpUrlConnection 或者经典的网络访问框架 HttpClient 也可以完成上文的案例,只是在 Spring 项目中,使用 RestTemplate 显然更方便一些。在传统的项目架构中,因为不涉及到服务之间的调用,大家对 RestTemplate 的使用可能比较少,因此,本文我们就先来带领大家来学习下 RestTemplate 的各种不同用法,只有掌握了这些用法,才能在微服务调用中随心所欲地发送请求。
全栈程序员站长
2022/11/01
3.9K0
CentOS下配置Ruby on Rails并部署Redmine
yum install flex autoconf zlib curl zlib-devel curl-devel bzip2  bzip2-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel gcc+ gcc-c++ libxml2 libxml2-devel libxslt libxslt-devel
星哥玩云
2022/07/03
1.9K0
Ruby x Jekyll 本地调试环境搭建
这里是本站开源: https://github.com/szhshp/NextJS-BlogTemplate-ProjectTitan
szhshp
2022/09/21
1.8K0
Ruby 应用容器封装踩坑记录(Lobsters)
本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 署名 4.0 国际 (CC BY 4.0)
soulteary
2020/03/22
5.7K0
Ruby 应用容器封装踩坑记录(Lobsters)
Ruby 操作 MongoDB(1)
使用 Ruby 处理各种任务时难免会和数据库打交道,而 MongoDB 又是一款应用极其广泛的数据库
franket
2021/10/19
4960
相关推荐
Ruby 操作 Mysql(3)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验