MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでテーブルの作成日時を取得する方法【information_schema活用】

MySQLテーブルの作成日時を確認する基本の方法

MySQLでテーブルがいつ作成されたのか(作成日時)を調べたい場合は、INFORMATION_SCHEMAを利用します。INFORMATION_SCHEMAは、データベースやテーブルなどのメタ情報を格納しているシステムデータベースであり、そこからcreate_timeカラムを参照することで、テーブルの作成日時を簡単に取得できます。

基本的な構文は以下のとおりです。

SELECT create_time FROM INFORMATION_SCHEMA.TABLES
WHERE table_schema = 'yourDatabaseName'
AND table_name = 'yourTableName';

table_schemaにはデータベース名を、table_nameには対象のテーブル名を指定してください。

実行例:businessデータベースのstudentテーブルの場合

ここでは、データベース「business」内のテーブル「student」を作成日時を取得する例として紹介します。実際に実行するクエリは次のようになります。

mysql> SELECT create_time FROM INFORMATION_SCHEMA.TABLES
-> WHERE table_schema = 'business'
-> AND table_name = 'student';

このクエリを実行すると、テーブルの作成日時が以下のように表示されます。

+---------------------+
| CREATE_TIME |
+---------------------+
| 2018-10-01 12:26:57 |
+---------------------+
1 row in set (0.12 sec)

結果から、「2018-10-01 12:26:57」にテーブルが作成されたことがわかります。

新規テーブルを作成して作成日時を検証してみる

次に、新しいテーブルをゼロから作成し、その作成日時が正しく記録されるかを確認してみましょう。まず、以下のクエリでテーブルを作成します。

mysql> create table DateAsStringDemo
-> (
-> YourDateTime datetime
-> );
Query OK, 0 rows affected (0.57 sec)

テーブル作成直後の現在日時をNOW()関数で確認しておきます。

mysql> select now();

実行結果は以下のとおりです。

+---------------------+
| now() |
+---------------------+
| 2018-11-26 18:12:29 |
+---------------------+
1 row in set (0.00 sec)

この状態で、先ほど作成した「DateAsStringDemo」テーブルの作成日時を照会すると、作成当日である「2018-11-26」の日付が返されるはずです。

確認用のクエリは以下のとおりです。

mysql> SELECT create_time FROM INFORMATION_SCHEMA.TABLES
-> WHERE table_schema = 'test'
-> AND table_name = 'DateAsStringDemo';

実行結果:

+---------------------+
| CREATE_TIME |
+---------------------+
| 2018-11-26 18:01:44 |
+---------------------+
1 row in set (0.00 sec)

まとめ

MySQLでテーブルの作成日時を取得するには、INFORMATION_SCHEMA.TABLEScreate_timeカラムを参照するのが最も簡単な方法です。データベース名とテーブル名をWHERE句で指定するだけで、誰でも正確な作成日時を確認できます。テーブル管理や変更履歴の調査などにぜひ活用してください。

  1. MySQLで日付レコードと現在の日付の差分を取得する方法(DATEDIFF関数の使い方)

    現在の日付が「2019-09-06」であると仮定して、テーブルに保存された日付レコードと現在の日付との差分(日数)を取得する方法を解説します。MySQLでは、DATEDIFF() 関数を使うことで、2つの日付の差を簡単に計算できます。 1. サンプルテーブルを作成する まず、日付型(DATE)のカラムを持つテーブルを作成します。 mysql> create table DemoTable ( AdmissionDate date ); Query OK, 0 rows affected (0.54 sec) 2. テーブルにレコードを挿入する INSERT文を使って、いくつかの日

  2. MySQLでテーブルの日付レコードを変更する方法|UPDATEとDATE_ADD()の使い方

    MySQLで保存済みの日付データに年数を加算して変更したい場合、UPDATEコマンドとDATE_ADD()関数を組み合わせることで簡単に実現できます。ここでは、実際のSQLクエリ例を使いながら、日付レコードを変更する手順を順番に解説します。1. テーブルを作成するまず、日付型(date)のカラムを持つテーブルを作成します。mysql> create table DemoTable1984 ( ShippingDate date ); Query OK, 0 rows affected (0.00 sec)2. レコードを挿入する次に、INSERTコマンドを使ってテ