(この記事は2022年7月5日が最終更新日です。)
この記事の作成はKazuが行っています。
本業ではエンジニアとして働きつつWebサービス開発を行っております。
副業でWebエンジニア・デザインを行っています。
エンジニアに欠かせないのが学習という名の自己投資です。
いろいろな学習方法があって正直どれを選べばよいのか悩みますよね・・・
いくつもある学習方法の中から私がオススメするのはUdemy!!
購入したコースが満足いく内容でなければ返金もしてくれるので損はありません。
Udemyを試してみる!本記事では初心者でも分かるように画像を用いてVisual StudioにMySQLを接続する方法を解説していきます。
作業を始める前に準備としてVisual Studioはインストールが済んでいることを前提とします。
Visual Studio 2019を使用して解説していきます。
Visual Studioには元々Windows SQL Serverが用意されていて、特にDBを意識することなくDBを使ったアプリケーションが作成することができます。
しかし、実際に世に開発したアプリをリリースすることを考えるとSQL Serverは使用するのは結構なお金がかかります。
そこで、今回は無料で使えるMySQLを使用として考えた次第です。
本記事での作業は以下の通り。
- Connector/Net (ADO.NET driver for MySQL)のインストール
- MySQL for Visual Studioのインストール
- MySQL Serverのインストール
- Visual Studioでのプロジェクト作成
作業してみての反省
今回上記の順でMySQLに必要なものをインストールしていきました。
それぞれ公式からインストーラをダウンロードしてインストールしました。
そうではなくてMySQL Installer – Communityを使用すれば一度に必要なものがインストールできるみたいだったのでそちらを使えばよかったなと反省。
効率よくインストールしたい方は「MySQL Serverのインストール」まで読み飛ばして、MySQL Installer – Communityで一度にインストールしましょう。
その場合、本記事とは手順は異なります。
Connector/Net (ADO.NET driver for MySQL)のインストール
以下の公式サイトからインストーラーをダウンロードします。
Windows(x86,32-bit), MSI InstallerのDownloadをクリックします。

No thanks, just start my download.をクリックしてダウンロードを開始します。

ダウンロードされたexeファイルを起動します。

そうするとインストーラが開きます。
Nextボタンをクリックします。

特別なことを必要としてなければTypicalをクリックします。標準的なMySQLがインストールできます。

Installをクリックします。

インストールが終わるまで待ちましょう。

Finishでインストール完了です。

MySQL for Visual Studioのインストール
以下の公式サイトからインストーラーをダウンロードします。
Windows(x86,32-bit), MSI InstallerのDownloadをクリックします。

No thanks, just start my download.をクリックしてダウンロードを開始します。

ダウンロードされたexeファイルを起動します。

そうするとインストーラが開きます。
Nextボタンをクリックします。

特別なことを必要としてなければTypicalをクリックします。標準的なMySQL for Visual Studioがインストールできます。

Installをクリックします。

インストールが終わるまで待ちましょう。

Finishでインストール完了です。

MySQL Serverのインストール
以下のサイトからダウンロードする
DownloadタブからMySQL Community(GPL) Downloads >> をクリックします。


MySQL Community Serverクリックします。

MySQL Installer for Windowsと書かれている画像をクリックします。

Windows(x86,32-bit), MSI InstallerのDownloadをクリックします。

No thanks, just start my download.をクリックしてダウンロードを開始します。

ダウンロードされたexeファイルを起動します。

そうするとインストーラが開きます。今までダウンロードした「MySQL for Visual Studio」と「Connector/NET」が確認できます。
Add をクリックします。

MySQL Serverの左の+をクリックして配下のフォルダを展開します。

MySQL Server を選択して→アイコンをクリックして、Products To Be Installedに移動させます。

Executeをクリックします。

しばらく待ったら緑のチェックマークがつくのでNextをクリックします。

こちらもNextをクリックします。

ポートの設定などを行いまずが、特にプロジェクトで指定がなければデフォルトでOKです。

こちらもデフォルトでOKです。

MySQLにアクセスする際のパスワードを設定します。
このパスワードはVisual Studioの接続の時に使うので忘れないようにしましょう。

こちらもデフォルトでOKです。

Executeをクリックします。

Finishをクリックします。

どのような設定でインストールしたかログが欲しい方はCopy Log to Clipboardをクリックして、テキストファイルなどに残しておきましょう。
特に必要が必要がなければ、Finishをクリックします。

必要な3つがインストールされていることが確認できます。

環境変数の追加
以下フォルダが存在することを確認する
C:\Program Files\MySQL\MySQL Server 8.0\bin
環境変数に上記のパスを追加していきます。

環境変数から追加を行ってください。

MySQLへアクセスできるか確認
cmdを起動して先ほどのbinフォルダまで移動
以下のコマンドを実行してバージョン確認、ログインを行います。
mysqld --version
mysql -u root -p

パスワードはインストールの際に設定したパスワードでログインできます。
テスト用のデータベースを作成
以下のコマンドを順に実行してき、テストデータの作成まで行ってください。
SQLが分からない方はググってみましょう。
CREATE DATABASE testdb;
SHOW databases;
USE testdb;
CREATE TABLE users (id INT AUTO_INCREMENT, name TEXT, PRIMARY KEY (id)) DEFAULT CHARSET=utf8;
SHOW tables;
DESCRIBE users;
INSERT INTO users(name) VALUES ('テスト太郎');
INSERT INTO users(name) VALUES ('テスト花子');
SELECT * FROM users;
Selectb文で以下のようにデータが取得できればOKです。

Visual Studioでプロジェクト作成
コンソールアプリケーションでプロジェクト作成していきます。
プロジェクトができたら、プロジェクト名を右クリックしてNuGetパッケージの管理を選択します。

参照タブで「mysql」と検索し、MySql.Dataを選択し、インストールします。

ライセンスの同意が求められたら「同意する」を選択します。

インストールされたことを確認します。インストール済みに表示されることを確認します。

準備は完了したのでソースコードを書いていきましょう。
Program.csを以下のように記述します。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;
namespace MySQLConnectionTest
{
class Program
{
static void Main(string[] args)
{
using (var con = new MySqlConnection("server=localhost;user=root;password=Administrator;database=testdb;"))
{
con.Open();
var command = new MySqlCommand("select id, name from users;", con);
var reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine("-----------------------");
Console.WriteLine("| {0} | {1} |", reader["id"], reader["name"]);
}
}
Console.WriteLine("-----------------------");
Console.ReadLine();
}
}
}
ソースコードの内容はMySQLに接続して、データ分だけidとnameを取得して表示するものになります。
動作確認します。デバックボタンをクリックします。

このように表示されればOKです。正しくデータが取得できていることが確認できました。
コメント