您好,登錄后才能下訂單哦!
本篇內(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í)!
免責(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)容。