「標準SQL+データベース」サポートページ
正誤表、補足情報、サンプルデータなど
MySQLはmysqlコマンド、MariaDBはmysqlまたはmariadbコマンドで接続し、SELECT文などを実行できます。
以下のコマンドで起動、quitまたはexitで終了します。
mariadb -u ユーザー名 -p
mysql -u ユーザー名 -p
※-pオプションはパスワードを使って接続するオプウション。ログインしているユーザー名と同じ名前でデータベースに接続する場合は-uオプションは省略可能。
スタートメニューに登録されているクライアントコマンドを使用します(mysql.exeが実行される)。クライアントコマンドはquitまたはexitで、クライアントウィンドウはexitで終了できます。マウス操作でクライアントウィンドウ閉じても問題ありません。
MySQL/MariaDBでは、❶CREATE DATABASEで「データベース」を作成し、❷use データベース名で使用するデータベースを選択し、❸CREATE TABLEでテーブルを作成してデータを登録します。
本書ではサンプルデータ用のデータベースとしてtestdb, sampledb, sampledb2の3つを使用しています。
DROP DATABASE IF EXISTS testdb;
DROP DATABASE IF EXISTS sampledb;
DROP DATABASE IF EXISTS sampledb2;
CREATE DATABASE testdb;
CREATE DATABASE sampledb;
CREATE DATABASE sampledb2;
本書では、文字列の並び順としてUbuntu環境およびWindows環境の初期値で日本語も扱いやすいutf8mb4を使用しています。環境やバージョンによって異なる文字コードが指定されている場合、ORDER BYで名前等の列を指定した際に、サンプルの実行結果と異なる並び順になることがあります。
データベース作成時に使用する文字列を明示するには以下の様に指定します。
CREATE DATABASE testdb
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_unicode_ci;
CREATE DATABASE sampledb
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_unicode_ci;
CREATE DATABASE sampledb2
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_unicode_ci;
サーバーの設定がどうなっているかは、例えば以下の方法で確認できます。
SHOW VARIABLES LIKE 'character_set_server';
サンプルデータの取り込みには主に以下の3つの方法があります。 いずれの場合もサンプルデータをあらかじめダウンロードしておいてください(👉本書で使用するサンプルデータ)。
mariadb -u ユーザー名 -p データベース名 < ファイル名use データベース名でデータベースを指定した後にsource ファイル名use データベース名でデータベースを指定した後に、Linux環境の場合は 1. の方法(👉サンプルデータのDLと取り込み)、Windows環境の場合は3.の方法がおすすめです。
クライアントコマンド画面への貼り付けは以下の手順で行います。
クライアントコマンドでは「改行で実行」(SQL文の場合は;が入っていたら実行)されるので、テキストの貼り付けのみで実行されます。貼り付けた際に最後の1行がプロンプト(>記号)の後に残っていたらEnterキーを押して実行してください。
source ファイル名でファイルに書かれている内容をそのまま実行することができます。
ファイルの在処を指定する「パス名」の指定方法はシェル(Windowsの場合はcmd.exe)と共通で、コマンド実行時のカレントディレクトリが基準となります。
ファイルをダウンロードしたら、そのディレクトリでクライアントコマンド(mariadbまたはmysql)を実行することで、パスの指定を省略できます。
MariaDB [(none)]> use testdb
Database changed
MariaDB [testdb]> source testdb.sql
Query OK, 0 rows affected (0.007 sec)
・・・略・・・
Query OK, 1 row affected (0.000 sec)
MariaDB [testdb]>
ブラウザでファイルをダウンロードすると、ダウンロードフォルダ(初期値ではC:\Users\ユーザー名\Downloads)に保存されます。
source (sourceに続いて半角スペースを入力)まで入力して、ダウンロードフォルダからファイルをドラッグ&ドロップするとファイルのパス名が入力されます。
※ダウンロードフォルダでファイルを選択してパスをコピー(Windows 11ではファイルを右クリック→パスのコピー、またはCtrl+Shift+C)して画面に貼り付ける事もできますが、引用符は削除してください。
mysql データベース名でデータベースを指定して起動し、show tables;コマンドを実行すると、データベースに登録されているテーブルが一覧表示されます。
show tables;はmysql/mariadb独自のコマンドです。
他のデータベースに切り替えたい場合はuse データベース名を実行します。useでは末尾の;が省略可能です。この他helpまたは?でコマンド一覧の表示、quitまたはexitでmysql/mariadbコマンドを終了します。
すぐに試してみたい方は以下のSELECT文でお試し下さい。
select * from 生徒マスター where 校舎='新宿';
select * from students where branch='新宿';