3

Windowsでのmysql5.5.2の使用(Wamp)複数のデータベースを使用するJavaアプリケーションを作成しています。データベース名とその作成日をリストしたい。データベースには同じテーブルがあり、データは異なります(アーカイブ)。Javaのトリックはありますか?

編集:

mysql> show databases;
+-------------------------+
| Database                |
+-------------------------+
| information_schema      |
| formaction_archive_test |
| mysql                   |
| performance_schema      |
| sw_formaction           |
| test                    |
+-------------------------+
6 rows in set (0.00 sec)

「formaction_archive_test」と「sw_formaction」はどちらも私「root」によって作成され、同じテーブルを持っています。私の問題は、それぞれの作成日を取得する方法です。

私はこの解決策を見つけました:

mysql> use information_schema;
Database changed
mysql> SELECT table_name, create_time
    -> FROM tables
    -> WHERE table_schema NOT IN('mysql', 'information_schema') ;
+----------------------------------------------+---------------------+
| table_name                                   | create_time         |
+----------------------------------------------+---------------------+
| cond_instances                               | NULL                |
| events_waits_current                         | NULL                |
| events_waits_history                         | NULL                |
| events_waits_history_long                    | NULL                |
| events_waits_summary_by_instance             | NULL                |
| events_waits_summary_by_thread_by_event_name | NULL                |
| events_waits_summary_global_by_event_name    | NULL                |
| file_instances                               | NULL                |
| file_summary_by_event_name                   | NULL                |
| file_summary_by_instance                     | NULL                |
| mutex_instances                              | NULL                |
| performance_timers                           | NULL                |
| rwlock_instances                             | NULL                |
| setup_consumers                              | NULL                |
| setup_instruments                            | NULL                |
| setup_timers                                 | NULL                |
| threads                                      | NULL                |
| annee                                        | 2012-06-06 16:19:04 |
| categorie                                    | 2012-06-06 16:19:04 |
| certification                                | 2012-06-06 16:19:04 |
| client                                       | 2012-06-06 16:19:04 |
| clientold                                    | 2012-06-06 16:19:04 |
| connaisance_ecole                            | 2012-06-06 16:19:04 |
| duree                                        | 2012-06-06 16:19:04 |
| eleve                                        | 2012-06-06 16:19:04 |
| famille                                      | 2012-06-06 16:19:04 |
| formateur                                    | 2012-06-06 16:19:04 |
| formation                                    | 2012-06-06 16:19:04 |
| inscription                                  | 2012-06-06 16:19:04 |
| lieux                                        | 2012-06-06 16:19:05 |
| lst_formation                                | 2012-06-06 16:19:05 |
| moyen_paiement                               | 2012-06-06 16:19:05 |
| paiement                                     | 2012-06-06 16:19:05 |
| session                                      | 2012-06-06 16:19:05 |
| souhait                                      | 2012-06-06 16:19:05 |
| souhaits                                     | 2012-06-06 16:19:05 |
| type_certification                           | 2012-06-06 16:19:05 |
+----------------------------------------------+---------------------+
37 rows in set (0.01 sec)

ただし、最後に作成されたデータベース情報のみが表示されます。解決策は、ファイルの作成日を確認することでしょうか?

4

2 に答える 2

4

それを取得するには、次のリクエストである必要があります。

SELECT table_name, create_time 
FROM information_schema.tables 

スキーマを削除information_schemamysqlて、作成したスキーマを取得できます。

SELECT table_name, create_time 
FROM information_schema.tables 
WHERE table_schema NOT IN('mysql', 'information_schema')

編集 :

データベースの作成時間を取得する唯一の方法は、最も古いテーブルを確認することです。

SELECT MIN(create_time)
FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'my_database'

必要に応じて、 のような役に立たない (またはそうでない) テーブルをデータベースに挿入できます_config。これは決して削除されません。

于 2012-06-25T16:34:58.303 に答える
1

Javaに役立つ特定のトリックがあるかどうかはわかりませんが、INFORMATION_SCHEMA_TABLESここで参照されている表を確認してください:http: //dev.mysql.com/doc/refman/5.0/en/tables-table.htmlが役立つ場合があります。おそらく、すべてのテーブルの最小作成時間を取り、それをデータベース作成時間として使用しますか?

AFAIK、データベースが純粋なSQLを使用して作成された時期を確認する方法はありません。

于 2012-06-25T16:12:30.890 に答える