Showtablesinquery;+----+|Tables_in_query|+---- - -------------+|student_detail ||student_info |+------+2rowsinset(0.00sec)이제 다음은 데이터베이스 이름을 인수로 받아들이고 다음 정보를 제공하는 저장 프로시저"/> Showtablesinquery;+----+|Tables_in_query|+---- - -------------+|student_detail ||student_info |+------+2rowsinset(0.00sec)이제 다음은 데이터베이스 이름을 인수로 받아들이고 다음 정보를 제공하는 저장 프로시저">

 >  기사  >  데이터 베이스  >  데이터베이스 이름을 매개변수로 사용하고 특정 데이터베이스의 세부 정보가 포함된 테이블을 나열하는 MySQL 저장 프로시저를 만듭니다.

데이터베이스 이름을 매개변수로 사용하고 특정 데이터베이스의 세부 정보가 포함된 테이블을 나열하는 MySQL 저장 프로시저를 만듭니다.

王林
王林앞으로
2023-09-10 12:21:071152검색

데이터베이스 이름을 매개변수로 사용하고 특정 데이터베이스의 세부 정보가 포함된 테이블을 나열하는 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 tb_list(db_name varchar(40))
   -> BEGIN
   -> SET @z := CONCAT('Select * from information_schema.tables WHERE table_schema = ','\'',db_name,'\'');
   -> Prepare stmt from @z;
   -> EXECUTE stmt;
   -> END //
Query OK, 0 rows affected (0.06 sec)

이제 데이터베이스 이름을 매개변수로 제공하여 이 저장 프로시저를 호출하세요. -

mysql> DELIMITER;
mysql> CALL tb_list('query')\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.00 sec)

위 내용은 데이터베이스 이름을 매개변수로 사용하고 특정 데이터베이스의 세부 정보가 포함된 테이블을 나열하는 MySQL 저장 프로시저를 만듭니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제