JDBCを使ってMySQLのストレージエンジンを取得・表示する方法
MySQLでテーブルのストレージエンジン名を表示するには、information_schema.tablesに対してSELECT ENGINEクエリを実行します。ここでは、JDBC(Java Database Connectivity)を使ってストレージエンジン情報を取得する手順を解説します。
1. テーブルの作成
まず、サンプル用のテーブルを作成します。
mysql> create table DemoTable
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name varchar(20),
-> Age int,
-> CountryName varchar(20)
-> );
Query OK, 0 rows affected (0.63 sec)
2. JDBCでストレージエンジンを取得するJavaコード
次に、JDBC経由でinformation_schema.tablesを照会し、指定したテーブルのストレージエンジンを取得するJavaプログラムの例を示します。
サンプルコード
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class GetTheStorageEngine {
public static void main(String[] args) {
String hostURL = "jdbc:mysql://localhost:3306/web?useSSL=false";
Connection con = null;
Statement stmt = null;
try {
con = DriverManager.getConnection(hostURL, "root", "123456");
stmt = con.createStatement();
String yourTablename = "DemoTable";
ResultSet resultSet = stmt.executeQuery("select engine from information_schema.tables where table_name='" + yourTablename + "';");
resultSet.next();
System.out.println("The engine is=" + resultSet.getString(1));
}
catch (Exception e) {
e.printStackTrace();
}
}
}
コードのポイント
- 接続URL:
jdbc:mysql://localhost:3306/web?useSSL=falseでローカルのMySQLデータベース「web」に接続しています。 - 照会先:システムビューの
information_schema.tablesから、table_nameが対象テーブル名と一致する行のengineカラムを取得します。 - セキュリティ注意点:実運用ではSQLインジェクション対策として、文字列連結ではなく
PreparedStatementの使用を推奨します。また、認証情報はハードコーディングせず、設定ファイルや環境変数で管理しましょう。
3. 実行結果
上記のプログラムを実行すると、次のような出力が得られます。
The engine is=InnoDB
このように、JDBCとinformation_schemaを組み合わせることで、任意のテーブルがどのストレージエンジン(InnoDB、MyISAMなど)を使用しているかを簡単にプログラムから確認できます。
-
MySQL JDBCドライバーの接続文字列とは?書き方と使い方を解説
MySQL JDBCドライバーの接続文字列とはJavaからMySQLデータベースへ接続する際に必要となるのが「JDBC接続文字列」です。まず、MySQLのJDBCドライバーを読み込むためのコードは以下のようになります。Class.forName(com.mysql.jdbc.Driver);ここで指定している Driver はインターフェースであり、このクラスをロードすることでMySQL用のJDBCドライバーが利用可能になります。なお、新しいMySQL Connector/J(バージョン8.0以降)では、ドライバークラス名が com.mysql.cj.jdbc.Driver に変更されている点
-
MySQL Workbenchで接続を維持する方法|キープアライブ設定の手順を解説
MySQL Workbenchでは、一定時間操作がないとデータベースとの接続が自動的に切断されてしまうことがあります。頻繁に再接続する手間を避けるためにも、事前に接続を維持するための設定を行っておきましょう。 設定画面へのアクセス方法 接続を維持する設定は、以下の場所から行います。 Edit(編集) → Preferences(環境設定) → SQL Editor まず、上部メニューの「Edit」をクリックし、「Workbench Preferences」を選択してください。 SQL Editorでの設定項目 設定画面で「SQL Editor」タブを選択すると、接続に関する間隔(インターバ