rubyでmysqlの接続、操作をする方法を記載します。
mysqlとgem "mysql2"はすでにインストール済みとして進めていきます。
データベースやテーブルの操作に関してはこちらも参考にしてみてください。
こちらも自分が書きました。
基本的なmysqlの操作
動作環境
- Windows10(ローカルOS)
- CentOS7(リモートOS)
- Oracle VM VirtualBox 6.1(仮想マシン)
- Ruby 2.7.1p83
- mysql
データベースの作成
CREATE DATABASE データベース名;
ここではCREATE DATABASE training;
とします。
テーブルの操作
テーブルの作成
CREATE TABLE テーブル名 (
カラム名1 データ型 オプション,
カラム名2 データ型 オプション,
カラム名3 データ型 オプション,
);
今回は
CREATE TABLE training.prefectures (
id int,
name varchar(32)
);
としてみます。
training.prefectures
はデータベース名.テーブル名
という意味で、わざわざuse
でデータベースを選択する必要がありません。
レコードの挿入
試しに一気に3件挿入します。
INSERT INTO training.prefectures VALUES
(1, "tokyo"),
(2, "osaka"),
(3, "kyoto");
Rubyでmysqlの操作
操作するためのrubyファイルを作成。
touch ms2_test.rb
データを参照
ms2_test.rb
require 'mysql2'
client = Mysql2::Client.new(host: "localhost", username: "root", password: "mysqlのパスワード")
query = %q{select * from test.languages}
results = client.query(query)
results.each do |row|
row.each do |key, value|
puts "#{key} => #{value}"
end
puts "\n"
end
それぞれの説明
client = Mysql2::Client.new(host: "localhost", username: "root", password: "mysqlのパスワード")
- これでmysqlに接続できます。
-
password: "mysqlのパスワード"
は、mysqlに接続するときにパスワードを設定している場合は、そちらを入力してください。 query = %q{select * from test.languages}
- mysqlに投げるクエリ文です。
- 難しく考える必要はなくて、mysqlでテーブルの操作をするときのコードをここに書き込めばいいだけです。
results = client.query(query)
- データベース(client)にクエリ文(query)を投げた結果です。
あとは
やりたい操作に応じてクエリ文を変えれば大丈夫です。