程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> ruby下mysql的安裝與配置

ruby下mysql的安裝與配置

編輯:MySQL綜合教程

ruby下mysql的安裝與配置   ruby on rails安裝mysql數據庫  1、在系統裡安裝mysql:下載mysql軟件,在百度上很多下載地址可以下載,或者進入mysql中文官方網站下載安裝軟件,我選擇的是5.1.62版本的     安裝mysql,設置默認字符集為utf-8     將mysql安裝目錄(默認C:/program files/mysql)之bin目錄下的libmySQL.dll拷貝至C:/ruby/bin目錄下 2、安裝mysql相關驅動:     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")     命令行執行ruby test_mysql.rd     輸出結果:         hello,mysql     則mysql連接成功   寫一段代碼: require  'DBcon' begin   dbh = Mysql.real_connect("localhost", "root", "sa","makedish", 3306)------# 這裡調用Mysql模塊的real_connect方法。連接數據庫本機:用戶名:root 密碼:sa 數據庫:makedish 端口:3306     dbh.query("drop table if exists test_foolfish")         --- #ruby執行語句   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返回受影響的行數     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當中對數據庫存在兩種操作:一種是不用返回結果集的(例如insert,update,delete等等)一種是需要返回結果集的(如select show等)。對於不返回結果集的操作,我們只需要使用dbh.query方法,傳入需要執行的sql語句執行即可。     對於另一種需要返回結果集的則相對麻煩一些。執行完上面類似的語句之後,我們需要對結果集進行處理。我們可以將結果集一數組或者hash形式展現。這裡我們使用hash方式展現。 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方法當中添加with_table = true參數可以保證在執行多表查詢的時候,多張表具有相同字段的尴尬。這樣我們hash的key值就可以用“表名.列名”的形式出現。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved