「基本がわかるSQL入門」サポートページ
正誤表、補足情報、サンプルデータなど
※コマンド操作に慣れている人向け
事前に、サンプルデータのファイル(*.sql)をダウンロードしておいてください。ここでは、testdb.sqlを使用します。
mysqlコマンドでは、use データベース名
でデータベースを指定した後に、source ファイル名
でSQLファイル(SQLが書かれたテキストファイル)を読み込むことができます。
useコマンドおよびsourceコマンドはmysqlコマンドの中で使用できるコマンドです。
【メモ】サンプルデータのファイルはUTF-8で保存されています。 Windows環境のMariaDBの場合、デフォルトの状態だとクライアントコマンドの画面(Windowsのコマンド画面)でUTF-8が文字化けすることから、ここで紹介しているsourceコマンドではうまく読み込むことができません。
(a)メモ帳などでサンプルデータ(testdb.sql)のファイルを開き、すべて選択してコピー→クライアント画面でデータベースを選択(use データベース名)した後、右クリックで貼り付けるか(→参考)、
(b)mysqlのコマンドラインで文字コードを指定した状態でファイルを読み込む(→参考)。
という方法を採るのが簡単でしょう。
MySQLの場合はUTF-8用のコマンドラインクライアントの起動メニュー(メニュー名の末尾に「Unicode」とあるもの)があるので、sourceコマンドでサンプルデータを読み込むことができます。また、Linux環境やmacOS環境の場合はシステム全体のデフォルトがUTF-8なので、同じくsourceコマンドでサンプルデータを読み込むことができます。
以下は、Windows環境のMySQLでの、「c:\users\study\downloads\testdb.sql」(Windows環境でユーザー「study」の「ダウンロード」フォルダにダウンロードした場合のファイル名)を読み込む場合のコマンド例です。
use testdb
source c:\users\study\downloads\testdb.sql
Linux環境やmacOS環境で、/tmp/testdb.sql
を読み込む場合は以下のようにします。
use testdb
source /tmp/testdb.sql
なお、コマンドラインでmysqlコマンドを実行できる場合はmysql データベース名 -uユーザ名 -p < SQLファイル名
で読み込むこともできます。
MySQLおよびMariaDBの場合、SHOW TABLES;
でテーブルを一覧表示できます。これはSQL文なので、末尾に;
(セミコロン)が必要です。
なお、本書ではSQLキーワードを大文字で記載していますが、mysqlコマンド等で入力する際は小文字でもかまいません。
データのインポート(mysqlコマンドでMySQLまたはMariaDBサーバーに接続してから実行する)
実行結果の確認(SHOW TABLES;はテーブルを一覧表示するSQLで、MySQL/MariaDBで使用できる)
このほか、mysqlコマンドの画面にSQLファイルの内容をそのままコピー&ペーストすることで実行することも可能です。 Windows環境など、GUI環境でコマンド入力用の画面を開いてmysqlコマンドを実行している場合、
use データベース
でデータベースを選択するWindows環境では、以下の方法でファイルのパスを確認することができます。