Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL을 사용하여 일부 단어 뒤에 대문자가 있는 이름을 가진 모든 데이터베이스를 가져오는 방법은 무엇입니까?

<시간/>

이를 위해 정규식을 사용합니다. 구문은 다음과 같습니다 -

select * from information_schema.schemata WHERE SCHEMA_NAME REGEXP '^yourValue_+[A-Z]';

일부 데이터베이스를 생성해 보겠습니다 -

mysql> create database bank_APP1;
Query OK, 1 row affected (0.00 sec)
mysql> create database bank_APP2;
Query OK, 1 row affected (0.00 sec)
mysql> create database bank_APP3;
Query OK, 1 row affected (0.00 sec)

다음은 일부 단어 뒤에 대문자가 있는 모든 데이터베이스를 가져오는 쿼리입니다. -

mysql> select * from information_schema.schemata
   WHERE SCHEMA_NAME REGEXP '^bank_+[A-Z]';

이것은 다음과 같은 출력을 생성합니다 -

+--------------+-------------+----------------------------+------------------------+----------+
| CATALOG_NAME | SCHEMA_NAME | DEFAULT_CHARACTER_SET_NAME | DEFAULT_COLLATION_NAME | SQL_PATH |
+--------------+-------------+----------------------------+------------------------+----------+
| def          | bank_app1   | utf8                       | utf8_unicode_ci        | NULL     |
| def          | bank_app2   | utf8                       | utf8_unicode_ci        | NULL     |
| def          | bank_app3   | utf8                       | utf8_unicode_ci        | NULL     |
+--------------+-------------+----------------------------+------------------------+----------+
3 rows in set (0.00 sec)