標準SQL+データベース入門

書影

「標準SQL+データベース」サポートページ
正誤表、補足情報、サンプルデータなど

標準SQL+データベース入門 サポートページ

学習用環境(Windows + MariaDB)

  1. MariaDBのダウンロード
  2. MariaDBのインストール
  3. 自動起動の設定
  4. クライアントツールの起動
    1. サンプルデータベースの作成
    2. Incorrect string value: と表示されて登録できなかった場合
    3. 補足:SQLが実行されない場合
    4. コマンドラインツールの終了
    5. 2回目以降
  5. テスト用ユーザーの作成
    1. 【参考】スタートメニューに追加するには
  6. HeidiSQL

MariaDBのダウンロード

MariaDBのダウンロードページ https://mariadb.com/downloads/ より、OSでWindowsを選択してDownloadをクリックします。

MariaDBのインストール

ダウンロードしたファイル(ここではmariadb-11.3.2-winx64.msi)を実行し、画面に従ってインストールを進めます。 途中「Use UTF8 as default server’s character set」にチェックマークを入れ、他のDBMSをインストールしている場合はポート番号が重複しないようにしてください。

Nextをクリック

I accept the terms in the License Agreementにチェックマークを入れてNextをクリック

パスワードを2回入力して「Use UTF8 as default server's character set」を選択してNextをクリック

Nextをクリック※TCP port要確認、デフォルトは[3306]

Installをクリック

「このアプリがデバイスに変更を加えることを許可しますか」と表示されたら「はい」をクリックしてください。

Finishをクリック

自動起動の設定

インストールが完了すると自動でMariaDBサーバーが起動します。 起動できているかどうかは「タスクマネージャー」(タスクバーで右クリック→タスクマネージャで起動)の「サービス」で確認できます。

デフォルトではMariaDBサーバーはWindows開始時に自動開始されるように設定されています。 学習時のみ手動で開始したい場合は、タスクマネージャから「サービス管理ツール」を開き、MariaDBのプロパティで「スタートアップの種類」を手動に変更します。

手動開始の際はタスクマネージャの「サービス」でMariaDBを右クリック→「開始」で開始します。

タスクバーで右クリック→タスクマネージャ→サービスで「MariaDB」が「実行中」であるか確認、右クリック→「サービス管理ツールを開く」で設定

右クリック→プロパティ

スタートアップの種類で自動と手動を切り替える

クライアントツールの起動

クライアントのコマンドラインツール(mysql.exe)はスタートメニューから起動できます。 ※MariaDBはMySQLから派生して開発されたため、コマンドラインツールの名前にmysql.exeが使われています。同じ内容のコマンドがmariadb.exeという名前でもインストールされています。

スタートメニュー→「すべてのアプリ」の「M」にある「MySQL Client (MariaDB xx.x (x64))」で起動

インストール時に入力したパスワードを入力してEnter

コマンドラインツールではMariaDB固有のコマンドとSELECT文などのSQL文を実行できます。コマンドはEnterで実行、SQL文の場合は;が入っていると実行され、入っていない場合は続きの入力をうながすプロンプト(->)が表示されます。続きまたは;を入力してEnterを押すとSQL文が実行されます。

サンプルデータベースの作成

以下のリンクでサンプルデータをダウンロードしてから「サンプルデータのインポート」の手順でサンプルデータを取り込んでください。 testdb.sql sampledb.sql sampledb2.sql

### Incorrect string value: と表示されて登録できなかった場合 本サイトに掲載しているサンプルコードはUTF-8を使用しています。 インストール時に「Use UTF8 as default server's character set」にチェックマークを入れていない場合、日本語の列名やデータでエラーが発生することがあります。 設定ファイル`my.ini`の`[mysqld]`ブロックに以下の行を追加してmariadbを再起動してください。 ``` character-set-server=utf8mb4 ```
スタートメニューでmariadbを検索してmy.iniを開く
`character-set-server=utf8mb4`という行を追加して**保存**して閉じる
タスクマネージャーの「サービス」でMariaDBを右クリック→再起動

補足:SQLが実行されない場合

文末の;を入力せずにEnterを実行した場合、次の行の入力を待つプロンプトが表示されます。;だけ入力してEnterを押すことで実行できます。

コマンドラインツールの終了

exitまたはquitで終了します。大文字・小文字の区別はありません。

終了したら「MySQL Client」のウィンドウを閉じてください。

mysql --defaults-file=..\data\my.ini -uroot -pで再開できますが、コマンドラインからではなくスタートメニューから実行する方が簡単でしょう。 -uユーザー名はデータベース接続時のユーザー名を指定するオプション、-pはパスワードを使用するというオプションです。

2回目以降

スタートメニューからコマンドラインツールを実行してパスワードを入力、use データベース名でデータベースを使用できます。

テスト用ユーザーの作成

スタートメニューから実行するコマンドラインクライアントは、MariaDBの管理者であるrootユーザーでMariaDBサーバーに接続しSQLを実行するようになっています。個人のローカルPCでテストする分にこれで問題ありませんが、テスト用のユーザーを使用したい場合は以下のコマンドで作成します。

study部分はデータベースに接続するユーザー、mypqssword部分は接続に使用するパスワードです。 適宜、ご自身のユーザー名と使用したいパスワードに置き換えて実行してください。 なお、パスワードはALTER USER ユーザー名 IDENTIFIED BY '新しいパスワード'で変更できます。

-- データベース接続用のユーザーを作成
-- CREATE USER 'ユーザー名'@'localhost' IDENTIFIED BY 'データベース接続用のパスワード';
CREATE USER 'study'@'localhost' IDENTIFIED BY 'mypassword';

作成したデータベースに対し、データの追加や削除などを含めたすべての権限を与えます。 WITH GRANT OPTIONは権限の追加や削除も行えるようにするためのオプションです。

GRANT ALL ON testdb.* TO 'study'@'localhost' WITH GRANT OPTION;
GRANT ALL ON sampledb.* TO 'study'@'localhost' WITH GRANT OPTION;
GRANT ALL ON sampledb2.* TO 'study'@'localhost' WITH GRANT OPTION;

設定した権限を再読込してmysqlコマンドを終了します。

FLUSH PRIVILEGES;
quit

mysqlコマンドが終了してWindowsのコマンドラインに戻るので、あらためてmysqlコマンドを実行します。 ユーザー「study」でパスワードを使って接続するには以下の様にします。

mysql -ustudy -p

【参考】スタートメニューに追加するには

スタートメニューにユーザー「study」用の起動メニューを作成したい場合は以下の様にします。

  1. スタートメニューの「MySQL Client」を右クリック→その他→ファイルの場所を開くをクリック
  2. 「MySQL Client」をコピーして、アイコンを右クリック→プロパティで「リンク先」の-uroot-ustudy(-uに続けてユーザー名を入力、スペースは入れない)に変更して保存する
「ファイルの場所を開く」でフォルダを開いてショートカットのコピーを作成

コピーした「MySQL Client」ショートカットのプロパティで`-uroot`を`-uユーザー名`とする(この画像では`-ustudy`に変更)

HeidiSQL

Windows版のMariaDBをインストールすると、デフォルトでHeidiSQLというGUIツールも同時にインストールされます。

ここでは、サンプルデータ登録後のデータ表示とSQL文の実行画面のみ紹介します。

「新規」で新しい接続を作成

名前を変更

ユーザー名とパスワード、ポート番号を入力


標準SQL+データベース入門 ——RDBとDB設計、基本の力 サポートページ