LIKE 연산자로 ^ 문자 검색하기
MySQL에서 캐럿(^)처럼 특수한 문자가 포함된 컬럼을 찾으려면 LIKE 연산자와 와일드카드(%)를 함께 사용하면 됩니다. information_schema.columns 뷰를 조회하면 데이터베이스 내 모든 테이블의 컬럼 정보를 확인할 수 있으며, 여기에 조건을 걸어 원하는 문자를 검색할 수 있습니다.
기본 문법은 다음과 같습니다.
select table_schema, table_name, column_name
from information_schema.columns
where column_name like '%^%';
1. 예제 테이블 생성
먼저 ^ 문자가 포함된 컬럼 이름을 가진 테이블을 만들어 보겠습니다. 특수 문자가 포함된 컬럼명은 백틱(`)으로 감싸야 한다는 점에 유의하세요.
mysql> create table DemoTable1826
(
`^` varchar(20),
Name varchar(20),
`^Age` int
);
Query OK, 0 rows affected (0.00 sec)
2. ^ 문자 검색 쿼리 실행
이제 information_schema.columns를 조회하여 컬럼 이름에 ^ 문자가 포함된 경우를 찾아보겠습니다.
mysql> select table_schema, table_name, column_name
from information_schema.columns
where column_name like '%^%';
3. 실행 결과 확인
위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.
+--------------+---------------+-------------+
| TABLE_SCHEMA | TABLE_NAME | COLUMN_NAME |
+--------------+---------------+-------------+
| web | demotable1826 | ^ |
| web | demotable1826 | ^Age |
+--------------+---------------+-------------+
2 rows in set (0.00 sec)
결과를 보면 DemoTable1826 테이블에서 '^' 컬럼과 '^Age' 컬럼, 총 두 개가 검색된 것을 확인할 수 있습니다. 이처럼 information_schema.columns와 LIKE 연산자를 활용하면 데이터베이스 전체에서 특정 문자가 포함된 컬럼명을 손쉽게 찾을 수 있습니다. 같은 방식으로 '%', '_' 등 다른 특수 문자도 응용하여 검색할 수 있습니다.