Latest web development tutorials
×

Ruby หลักสูตร

Ruby หลักสูตร Ruby แนะนำโดยย่อ Ruby สิ่งแวดล้อม Ruby ติดตั้ง Linux Ruby ติดตั้ง Windows Ruby การเข้ารหัสจีน Ruby เลือกบรรทัดคำสั่ง Ruby ตัวแปรสภาพแวดล้อม Ruby ไวยากรณ์ Ruby ชนิดข้อมูล Ruby คลาสและวัตถุ Ruby กรณีระดับ Ruby ตัวแปร Ruby ผู้ประกอบการ Ruby หมายเหตุ Ruby เงื่อนไข Ruby การไหลเวียน Ruby ทาง Ruby กลุ่ม Ruby โมดูล Ruby เชือก Ruby แถว Ruby กัญชา Ruby วันที่และเวลา Ruby ขอบเขต Ruby iterator Ruby input และ output ไฟล์ Ruby File ชั้นเรียนและวิธี Ruby Dir ชั้นเรียนและวิธี Ruby ผิดปกติ

Ruby การสอนที่ทันสมัย

Ruby เชิงวัตถุ Ruby นิพจน์ปกติ Ruby การเข้าถึงฐานข้อมูล - DBI หลักสูตร Ruby MySQL Ruby CGI โครงการ Ruby CGI ทาง Ruby CGI Cookies Ruby CGI Sessions Ruby ส่ง Email SMTP Ruby Socket โครงการ Ruby XML, XSLT, XPath Ruby Web Services Ruby multithreading Ruby JSON Ruby RubyGems

ทับทิมเชื่อมต่อ Mysql - MySql2

ส่วนก่อนหน้านี้เราได้นำเสนอการใช้ทับทิม DBI บทของการเชื่อมต่อทางเทคนิคทับทิม Mysql mysql2 ไดรฟ์ของเรามีประสิทธิภาพมากขึ้นนี้ยังเป็นวิธีที่แนะนำในการเชื่อมต่อข้อมูล MySQL

การติดตั้ง mysql2 ไดรฟ์:

gem install mysql2

คุณจำเป็นต้องใช้เมื่อใช้-MySQL-config เส้นทางการกำหนดค่า mysql_config เช่นเมื่อใช้-MySQL-config = / บาง / สุ่ม / เส้นทาง / bin / mysql_config

สัมพันธ์

ไวยากรณ์เชื่อมต่อฐานข้อมูลเป็นดังนี้:

# 更多参数可以查看 http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/MysqlAdapter.html
client = Mysql2::Client.new(:host => "localhost", :username => "root")

การสอบสวน

results = client.query("SELECT * FROM users WHERE group='githubbers'")

หลบหนีอักขระพิเศษ

escaped = client.escape("gi'thu\"bbe\0r's")
results = client.query("SELECT * FROM users WHERE group='#{escaped}'")

ผลการกำหนดจำนวนของผลตอบแทน:

results.count

ชุดผลซ้ำ:

results.each do |row|
  # row 是哈希
  # 键值是数据库字段
  # 值都是对应 MySQL中数据
  puts row["id"] # row["id"].class == Fixnum
  if row["dne"]  # 不存在则是 nil
    puts row["dne"]
  end
end

ตัวอย่าง

#!/usr/bin/ruby -w
require 'mysql2'

client = Mysql2::Client.new(
	:host     => '127.0.0.1', # 主机
	:username => 'root',      # 用户名
	:password => '123456',    # 密码
	:database => 'test',      # 数据库
	:encoding => 'utf8'       # 编码
	)
results = client.query("SELECT VERSION()")
results.each do |row|
  puts row
end

เรียกเอาท์พุทตัวอย่างข้างต้นคือ

{"VERSION()"=>"5.6.21"}

เลือกการเชื่อมต่อ

Mysql2::Client.new(
  :host,
  :username,
  :password,
  :port,
  :database,
  :socket = '/path/to/mysql.sock',
  :flags = REMEMBER_OPTIONS | LONG_PASSWORD | LONG_FLAG | TRANSACTIONS | PROTOCOL_41 | SECURE_CONNECTION | MULTI_STATEMENTS,
  :encoding = 'utf8',
  :read_timeout = seconds,
  :write_timeout = seconds,
  :connect_timeout = seconds,
  :reconnect = true/false,
  :local_infile = true/false,
  :secure_auth = true/false,
  :default_file = '/path/to/my.cfg',
  :default_group = 'my.cfg section',
  :init_command => sql
  )

สำหรับข้อมูลเพิ่มเติมโปรดดูที่: http://www.rubydoc.info/gems/mysql2/0.2.3/frames