• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 1. INFORMATION_SCHEMA CHARACTER_SETS Table
    2. INFORMATION_SCHEMA COLLATIONS Table
    3. INFORMATION_SCHEMA COLLATION_CHARACTER_SET_APPLICABILITY Table
    4. INFORMATION_SCHEMA COLUMNS Table
    5. INFORMATION_SCHEMA COLUMN_PRIVILEGES Table
    6. INFORMATION_SCHEMA ENGINES Table
    7. INFORMATION_SCHEMA EVENTS Table
    8. INFORMATION_SCHEMA GLOBAL_STATUS and SESSION_STATUS Tables
    9. INFORMATION_SCHEMA GLOBAL_VARIABLES and SESSION_VARIABLES Tables
    10. INFORMATION_SCHEMA KEY_COLUMN_USAGE Table
    11. INFORMATION_SCHEMA OPTIMIZER_TRACE Table
    12. INFORMATION_SCHEMA PARAMETERS Table
    13. INFORMATION_SCHEMA PARTITIONS Table
    14. INFORMATION_SCHEMA PLUGINS Table
    15. INFORMATION_SCHEMA PROCESSLIST Table
    16. INFORMATION_SCHEMA PROFILING Table
    17. INFORMATION_SCHEMA REFERENTIAL_CONSTRAINTS Table
    18. INFORMATION_SCHEMA ROUTINES Table
    19. INFORMATION_SCHEMA SCHEMATA Table
    20. INFORMATION_SCHEMA SCHEMA_PRIVILEGES Table
    21. INFORMATION_SCHEMA STATISTICS Table
    22. INFORMATION_SCHEMA TABLES Table
    23. INFORMATION_SCHEMA TABLESPACES Table
    24. INFORMATION_SCHEMA TABLE_CONSTRAINTS Table
    25. INFORMATION_SCHEMA TABLE_PRIVILEGES Table
    26. INFORMATION_SCHEMA TRIGGERS Table
    27. INFORMATION_SCHEMA USER_PRIVILEGES Table
    28. INFORMATION_SCHEMA VIEWS Table
    29. InnoDB의 INFORMATION_SCHEMA Table
    30. MySQL Cluster INFORMATION_SCHEMA Table
    31. Thread Pool INFORMATION_SCHEMA Tables
    32. Extensions to SHOW Statements
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

21.28 INFORMATION_SCHEMA VIEWS Table

VIEWS 테이블은 데이터베이스의 뷰에 대한 정보를 제공합니다. 이 테이블에 액세스하려면 SHOW VIEW 권한이 있어야합니다.

INFORMATION_SCHEMA NameSHOW NameRemarks
TABLE_CATALOG
def
TABLE_SCHEMA

TABLE_NAME

VIEW_DEFINITION

CHECK_OPTION

IS_UPDATABLE

DEFINER

SECURITY_TYPE

CHARACTER_SET_CLIENT
MySQL extension
COLLATION_CONNECTION
MySQL extension

참고 :

  • VIEW_DEFINITION 컬럼은 SHOW CREATE VIEW 를 생성하는 Create Table 필드에 표시되는 대부분의 것이 존재합니다. SELECT 이전 단어를 생략하고 WITH CHECK OPTION 단어를 건너 뜁니다. 원래 문이 다음과 같았다고합니다.

    CREATE VIEW v AS
      SELECT s2,s1 FROM t
      WHERE s1 > 5
      ORDER BY s1
      WITH CHECK OPTION;
    

    이 경우 뷰 정의는 다음과 같습니다.

    SELECT s2,s1 FROM t WHERE s1 > 5 ORDER BY s1
    
  • CHECK_OPTION 컬럼은 NONE , CASCADE 또는 LOCAL 값입니다.

  • MySQL은 CREATE VIEW 시 뷰의 갱신 가능성 플래그 플래그를 설정합니다. UPDATE 및 DELETE (및 이와 유사한 작업)이 뷰에 사용하는 경우 플래그는 YES (true)로 설정됩니다. 그렇지 않으면 플래그는 NO (false)로 설정됩니다. VIEWS 테이블 IS_UPDATABLE 열이 플래그의 상태를 표시합니다. 이것은 뷰가 갱신 가능한지 여부를 서버가 항상 파악하고있는 것을 의미합니다. 뷰가 업데이트 가능하지 않은 경우, UPDATE , DELETE , INSERT 등의 문은 무효이며, 거부됩니다. (뷰가 업데이트 가능한 경우에도 삽입 할 수없는 경우가 있습니다. 자세한 내용은 섹션 13.1.20 "CREATE VIEW 구문" 을 참조하십시오.)

  • DEFINER : ' user_name '@' host_name ' 형식으로 나타낸 뷰를 생성 한 사용자 계정입니다. SECURITY_TYPE 에는 DEFINER 또는 INVOKER 값이 있습니다.

  • CHARACTER_SET_CLIENT : 뷰가 생성되었을 때의 character_set_client 시스템 변수 세션 값입니다.

  • COLLATION_CONNECTION : 뷰가 생성되었을 때의 collation_connection 시스템 변수 세션 값입니다.

MySQL은 다른 sql_mode 설정을 사용하면 지원하는 SQL 구문의 유형을 서버에 지시 할 수 있습니다. 예를 들어, ANSI SQL 모드를 사용하면 쿼리에서 MySQL에서 표준 SQL 연결 연산자의 이중 바 ( || )가 올바르게 해석됩니다. 그 항목을 연결하는 뷰를 작성한 경우 sql_mode 설정을 ANSI 와 다른 값으로 변경하면 뷰가 해제 될 것이라는 우려가있을 수 있습니다. 그러나 그런 것은 아닙니다. MySQL은 기술 방법에 관계없이 항상 뷰 정의를 정규 형식으로 같은 방법으로 저장합니다. 서버가 이중 모음의 연결 연산자를 CONCAT() 함수에 어떻게 변화 하는지를 나타내는 예를 보여줍니다.

mysql> SET sql_mode = 'ANSI';
Query OK, 0 rows affected (0.00 sec)

mysql> CREATE VIEW test.v AS SELECT 'a' || 'b' as col1;
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS
    -> WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME = 'v';
+----------------------------------+
| VIEW_DEFINITION                  |
+----------------------------------+
| select concat('a','b') AS `col1` |
+----------------------------------+
1 row in set (0.00 sec)

뷰 정의를 정규 형식으로 저장하는 이점은 나중에 sql_mode 값을 변경해도 뷰의 결과에 영향을 미치지 않을 것입니다. 그러나 SELECT 의 앞에있는 주석이 서버에 의해 정의에서 제거된다는 다른 영향이 있습니다.

서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved