溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

ruby下mysql的安裝與配置方法

發(fā)布時(shí)間:2021-08-20 11:35:48 來源:億速云 閱讀:147 作者:chen 欄目:數(shù)據(jù)庫

本篇內(nèi)容主要講解“ruby下mysql的安裝與配置方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“ruby下mysql的安裝與配置方法”吧!

ruby on rails安裝mysql數(shù)據(jù)庫
  1、在系統(tǒng)里安裝mysql:下載mysql軟件,在百度上很多下載地址可以下載,或者進(jìn)入mysql中文官方網(wǎng)站下載安裝軟件,我選擇的是5.1.62版本的
  安裝mysql,設(shè)置默認(rèn)字符集為utf-8
  將mysql安裝目錄(默認(rèn)C:/program files/mysql)之bin目錄下的libmySQL.dll拷貝至C:/ruby/bin目錄下
  2、安裝mysql相關(guān)驅(qū)動(dòng):
  gem install mysql-2.8.1-x86-mingw32.gem
  3、將ruby安裝目錄的lib/ruby/gems/1.8/gems/mysql-2.7.1-mswin32/ext/目錄下的 mysql_api文件拷貝至ruby安裝目錄下的/lib/ruby/site_ruby/1.8/i386-msvcrt/目錄下。
  4、測試ruby連接mysql
  新建文本test_mysql.rd后輸入代碼:
  require "mysql"
  puts("hello,mysql")
  命令行執(zhí)行ruby test_mysql.rd
  輸出結(jié)果:
  hello,mysql
  則mysql連接成功
  寫一段代碼:
  require  'DBcon'
  begin
  dbh = Mysql.real_connect("localhost", "root", "sa","makedish", 3306)------# 這里調(diào)用Mysql模塊的real_connect方法。連接數(shù)據(jù)庫本機(jī):用戶名:root 密碼:sa 數(shù)據(jù)庫:makedish 端口:3306
  dbh.query("drop table if exists test_foolfish")         --- #ruby執(zhí)行語句
  dbh.query("create table test_foolfish(id int,name varchar(20))")
  dbh.query("insert into test_foolfish values(1,'你好')")
  dbh.query("insert into test_foolfish values(2,hello)")
  printf "%d rows were insertedn",dbh.affected_rows ----#affected_rows返回受影響的行數(shù)
  res=dbh.query("SELECT name FROM test_foolfish")
  puts "===============n"
  res.each_hash(with_table = true) do |row|
  printf "%d,%sn",row["test_rb.id"],row["test_rb.name"]
  end
  puts "===============n"
  puts "Server version:"+dbh.get_server_info
  rescue Mysql::Error=>e
  puts "Error code:#{e.errno}"
  puts "Error message:#{e.error}"
  puts "Error SQLSTATE:#{e.sqlstate}" if e.respond_to?("sqlstate")
  ensure
  dbh.close if dbh
  end
  ruby當(dāng)中對(duì)數(shù)據(jù)庫存在兩種操作:一種是不用返回結(jié)果集的(例如insert,update,delete等等)一種是需要返回結(jié)果集的(如 select show等)。對(duì)于不返回結(jié)果集的操作,我們只需要使用dbh.query方法,傳入需要執(zhí)行的sql語句執(zhí)行即可。
  對(duì)于另一種需要返回結(jié)果集的則相對(duì)麻煩一些。執(zhí)行完上面類似的語句之后,我們需要對(duì)結(jié)果集進(jìn)行處理。我們可以將結(jié)果集一數(shù)組或者h(yuǎn)ash形式展現(xiàn)。這里我們使用hash方式展現(xiàn)。
  res=dbh.query("SELECT name FROM test_foolfish")
  puts "===============\n"
  res.each_hash(with_table = true) do |row|
  printf "%d,%s\n",row["test_rb.id"],row["test_rb.name"]
  end
  each_hash方法當(dāng)中添加with_table = true參數(shù)可以保證在執(zhí)行多表查詢的時(shí)候,多張表具有相同字段的尷尬。這樣我們hash的key值就可以用“表名.列名”的形式出現(xiàn)。

到此,相信大家對(duì)“ruby下mysql的安裝與配置方法”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI