본문 바로가기
반응형

SQL/MySQL66

MySQL 컬럼명 코멘트로 테이블 찾는 방법 MySQL에서 컬럼명이나 해당 컬럼의 코멘트는 아는데 어느 테이블에 그게 들어있는지 기억이 안나는 경우가 있는데 둘 중 하나만 알아도 간단하게 검색이 가능하다 먼저 INFORMATION_SCHEMA.COLUMS 테이블에서 TABLE_SCHEMA = '스키마명' 으로 스키마명을 설정하고 COLUMN_NAME = '컬럼명' 을 넣어주면 스키마 내에서 해당 컬럼명을 사용하는 모든 테이블을 조회 가능하다 다음은 컬럼명도 모르고 코멘트만 기억하고 있는 경우인데 COLUMN_COMMENT LIKE '%코멘트%' 로 쉽게 찾아줄 수 있다 마지막으로 예제에 사용한 쿼리는 아래와 같다 SELECT A.TABLE_NAME -- 테이블명 , A.COLUMN_NAME -- 컬럼명 , A.COLUMN_COMMENT -- 컬럼 .. 2021. 9. 24.
MySQL 컬럼 값으로 정렬하는 방법 MySQL에서 컬럼의 특정 값을 기준으로 정렬을 할 때에는 FIELD(컬럼명, '값') ASC/DESC 를 사용해주면 되는데 값을 넣을 때는 우선순위를 역순으로 넣어줘야 한다 FIELD(컬럼명, 'Africa', 'Asia') 이런 식으로 사용하면 Asia가 정렬 1순위 Africa가 2순위가 된다는 말이다 FIELDS는 컬럼명에 정의한 값만 정렬해주기 때문에 정의하지 않은 나머지 값들은 ORDER BY 에서 추가로 정렬을 해주면 된다 예제에 사용한 쿼리는 아래와 같다 SELECT CONTINENT FROM COUNTRY GROUP BY CONTINENT ORDER BY FIELD(CONTINENT, 'Africa', 'Asia') DESC 2021. 7. 5.
MySQL 줄바꾸기(개행) 방법 MySQL에서 SELECT 쿼리 사용 시 조회되는 값 중간에 개행을 시켜주고 싶다면 \n 을 추가해주면 되는데 concat을 사용해 넣어줘도 되고 아니면 문자열 안에 넣어도 줄바꾸기가 가능하다 예제에 사용한 쿼리는 아래와 같다 SELECT CONCAT('TEST1 : ', 'VALUE1', '\n', 'TEST2 : ', 'VALUE2') AS TEST1 , 'AA\nBB' AS TEST2 2021. 7. 1.
MySQL 조회 시 NULL 값 기준으로 정렬방법 MySQL에서 NULL 값이 먼저 / 나중에 나오게 정렬하려는 경우에는 ORDER BY 컬럼명 IS NULL ASC / DESC를 사용해주면 되는데 ORDER BY 컬럼명 IS NULL ASC 시에는 해당 컬럼명 기준으로 NULL이 아닌 값이 우선 조회되고 ORDER BY 컬럼명 IS NULL DESC 시에는 NULL인 값이 우선적으로 조회되게 된다 2021. 5. 21.
MySQL 컬럼명 Alias 띄어쓰기 괄호 사용 안될경우 해결방법 MySQL에서 Alias를 사용하려고 할 경우 위와 같이 띄어쓰기를 사용하거나 혹은 괄호를 사용할 경우에는 아래와 같은 Syntax 에러가 발생하는 것이 보이는데 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(TEST) LIMIT 0, 200' at line 1 해결방법은 매우 간단하다 Alias '값' 으로 컬럼명을 정해주면 띄어쓰기나 괄호를 사용해도 에러 없이 사용이 가능하다 2021. 5. 17.
MySQL 테이블 사이즈 확인용 쿼리 MySQL에서 테이블 사이즈 확인 시 사용하는 쿼리인데 하단의 WHERE 부분에서 스키마명 / 테이블명만 바꿔 사용해주면 된다 DATA_LENGTH는 테이블 안에 들어있는 전체 데이터 INDEX_LENGTH는 테이블 안의 인덱스 데이터 크기를 말하며 DATA_LENGTH/INDEX_LENGTH를 합친 값이 해당 테이블이 실제 점유하는 데이터 사이즈가 되겠다 위 이미지에 사용한 쿼리는 아래 내용을 복사 붙여넣기 해서 사용해주면 된다 SELECT TABLE_SCHEMA -- 스키마명 , TABLE_NAME -- 테이블명 , TABLE_COMMENT -- 테이블 코멘트 , ROUND((DATA_LENGTH+INDEX_LENGTH)/(1024*1024),2) AS 'TB_IND_SIZE(MB)' -- 데이터 +.. 2021. 5. 17.

반응형