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

特定のデータベースの詳細情報を含むテーブルを一覧表示するプロシージャを作成します。


現在、「query」という名前のデータベースを使用していて、その中に次のテーブルがあるとします-

mysql> Show tables in query;
+-----------------+
| Tables_in_query |
+-----------------+
| student_detail  |
| student_info    |
+-----------------+
2 rows in set (0.00 sec)

次に、ストアドプロシージャを示します。これにより、詳細情報を含むテーブルのリストが表示されます-

mysql> DELIMITER//
mysql> CREATE procedure tablelist()
   -> BEGIN
   -> Select * from Information_schema.tables WHERE table_schema = 'query';
   -> END //

Query OK, 0 rows affected (0.06 sec)
mysql> DELIMITER;

mysql> CALL tablelist()\G
*************************** 1. row ***************************
    TABLE_CATALOG: def
     TABLE_SCHEMA: query
       TABLE_NAME: student_detail
       TABLE_TYPE: BASE TABLE
           ENGINE: InnoDB
          VERSION: 10
       ROW_FORMAT: Dynamic
       TABLE_ROWS: 4
   AVG_ROW_LENGTH: 4096
      DATA_LENGTH: 16384
  MAX_DATA_LENGTH: 0
      INDEX_LENGTH: 0
         DATA_FREE: 0
    AUTO_INCREMENT: NULL
       CREATE_TIME: 2017-12-13 16:25:44
       UPDATE_TIME: NULL
        CHECK_TIME: NULL
   TABLE_COLLATION: latin1_swedish_ci
          CHECKSUM: NULL
    CREATE_OPTIONS:
     TABLE_COMMENT:

*************************** 2. row ***************************
    TABLE_CATALOG: def
     TABLE_SCHEMA: query
       TABLE_NAME: student_info
       TABLE_TYPE: BASE TABLE
           ENGINE: InnoDB
          VERSION: 10
       ROW_FORMAT: Dynamic
       TABLE_ROWS: 4
   AVG_ROW_LENGTH: 4096
      DATA_LENGTH: 16384
   MAX_DATA_LENGTH: 0
      INDEX_LENGTH: 0
         DATA_FREE: 0
    AUTO_INCREMENT: NULL
       CREATE_TIME: 2017-12-12 09:52:51
       UPDATE_TIME: NULL
        CHECK_TIME: NULL
   TABLE_COLLATION: latin1_swedish_ci
          CHECKSUM: NULL
    CREATE_OPTIONS:
     TABLE_COMMENT:
2 rows in set (0.01 sec)

Query OK, 0 rows affected (0.06 sec)

  1. データベース内のテーブルの数を表示するためのMySQLクエリとは何ですか?

    たとえば、ここではWEBデータベースを使用しています。データベースWEBでテーブルの数を見つける必要があります。これには、MySQLのINFORMATION_SCHEMA.TABLESを使用します。 以下は、テーブルの数を表示するためのクエリです- mysql> select count(table_name) as TotalNumberOfTablesInWebDatabase    -> from information_schema.tables    -> where table_schema='web';

  2. MySQLデータベース内のすべてのテーブルを一覧表示します

    MySQLデータベース内のすべてのテーブルを一覧表示する方法を理解しましょう- データベースが作成されると、次のクエリを使用して特定のデータベースにアクセスして使用できます- クエリ mysql> USE databaseName Database changed 「USE」ステートメントにはセミコロンは必要ありません。これは「QUIT」ステートメントに似ています。セミコロンを使用しても害はありません。独自のデータベースを作成して使用することもできますが、その前に、MySQL管理者の許可が必要です。 MySQL管理者は、以下に示すコマンドを実行して権限を提供できます- mysql&