Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- character_set
- WebSecurityConfigurerAdapter
- ruby-prof
- 루비
- Spring
- ruby
- 정렬
- 개발자
- 파이썬 #자료형 #python
- 알고리즘
- configureGlobal
- AuthenticationManagerBuilder
- python manage.py migrate
- authorizeRequests
- 알고리즘 #자료구조 #리스트 #스택 #큐 #트리
- authorizeUrls
- 스프링
- minitest
- 스프링시큐리티
- 파이썬 #기타제어흐름도구 #제어문 #함수 #FOR문
- MySQL
- springsecurity
- Ruby on Rails
- 프로그래머스
- 자바
- Rails
- 정적리소스
- 알고리즘 #프로그래머스 #K번째수 #자바 #JAVA #정렬알고리즘 #정렬
- authorizeUrls missing
- Java
Archives
- Today
- Total
손만이의 개발노트
[Mysql] information_schema 로 character_set 검색 본문
information_schema는 데이터베이스에 속한 메타 정보들 (db,테이블,컬럼 등등)을 기록하는 스키마이다.
| CHARACTER_SETS : 사용가능한 모든 문자 셋에 대한 정보를 가지고 있다.
| COLLATIONS : 사용 가능한 모든 콜레션에 대한 정보를 가지고 있다. 콜레션은 데이터베이스에 저장된 값들을 비교, 검색하거나 정렬 등의 작업을 위해 문자들을 서로 비교할 때 사용하는 규칙들의 집합이다.
| COLLATION_CHARACTER_SET_APPLICABILITY : 어떤 콜레션에 어떤 문자열 세트가 적용되는지를 표시한다.
| COLUMNS : 테이블 칼럼의 콜레션 정보를 가지고 있다. 칼럼이라도 char, varchar, text 형태의 컬럼은 콜레션을 가진다. 비문자 타입은 콜레션을 가지지 않는다.
| COLUMN_PRIVILEGES : 테이블 칼럼 권한에 대한 정보를 제공한다.
| KEY_COLUMN_USAGE : 제약사항을 가지고 있는 키 컬럼에 대한 정보를 제공한다.
| REFERENTIAL_CONSTRAINTS :
| ROUTINES : 스토어드 루틴에 대한 정보를 제공한다. 스토어드 루틴이란 DB상에 저장이 가능한 SQL 구문이다.(프로시저, 함수 포함)
| SCHEMATA : 하나의 스키마는 하나의 데이터베이스다. SCHMATA는 데이터베이스의 정보를 제공한다.
| STATISTICS : 테이블 인덱스에 대한 정보를 제공한다.
| TABLES : 데이터베이스에 존재하는 테이블에 대한 정보를 제공한다.
| TABLE_CONSTRAINTS : 테이블에 대한 제약사항에 대한 정보를 제공한다.
| TRIGGERS : 트리거에 대한 정보를 제공한다. 트리거란 테이블에 대한 이벤트에 반응하여 자동으로 실행되는 작업을 의미한다.
| USER_PRIVILEGES : 글로벌 권한에 대한 정보를 제공한다. 글로벌 권한은 모든 데이터베이스에 대한 권한이 주어지는 권한이다.
| VIEWS : DB에 있는 뷰에 대한 정보를 제공한다.
이런 정보들을 가지고 있다.
오늘의 문제는 특정 테이블에 character_set들이 이상한거 같다고 확인해 달라는 문의가 있었다.
1.특정 테이블의 컬럼의 charset을 검색할때.
SELECT character_set_name FROM information_schema.`COLUMNS` C
WHERE table_schema = "mydb"
AND table_name = "mytable"
AND column_name = "mycolumn";
2.모든 테이블 중에서 내가 원하는 charset이 있는지 보려고 할때
SELECT distinct character_set_name FROM information_schema.`COLUMNS` C
WHERE table_schema = "mydb";
3.이런식으로 쿼리를 조회하면 전체 테이블 정보 확인 가능
SELECT * FROM information_schema.`COLUMNS` C
WHERE table_schema = "mydb";
이런식으로 확인하면 된다.
'데이터베이스' 카테고리의 다른 글
아주 간단한 쿼리 작성 팁 - 인덱스 활용편 (0) | 2020.04.02 |
---|---|
[MSSQL]데이터 형식 varchar을(를) varbinary(으)로 암시적으로 변환할 수 없습니다. XML에서 ISNULL이 안된다, XML은 NULL을 인식하지 못한다? (0) | 2019.01.16 |