13.7.5.14 SHOW CREATE VIEW 구문
SHOW CREATE VIEW view_name
이 문은 지정된 뷰를 작성하는 CREATE VIEW
문을 표시합니다.
mysql> SHOW CREATE VIEW v\G
*************************** 1. row ******************** *******
View : v
Create View : CREATE ALGORITHM = UNDEFINED
DEFINER =`bob` @`localhost`
SQL SECURITY DEFINER VIEW
`v` AS select 1 AS`a` 2 AS`b`
character_set_client : latin1
collation_connection : latin1_swedish_ci
character_set_client
이 뷰가 생성되었을 때의 character_set_client
시스템 변수 세션 값입니다. collation_connection
이 뷰가 생성되었을 때의 collation_connection
시스템 변수 세션 값입니다.
SHOW CREATE VIEW
를 사용하려면 SHOW VIEW
권한 및 대상 뷰에 대한 SELECT
권한이 필요합니다.
또한 VIEWS
테이블을 포함 INFORMATION_SCHEMA
에서 뷰 개체에 대한 정보를 얻을 수 있습니다. 섹션 21.28 "INFORMATION_SCHEMA VIEWS 테이블" 을 참조하십시오.
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.01 sec) mysql>SHOW CREATE VIEW test.v\G
*************************** 1. row ******************** ******* View : v Create View : CREATE VIEW "v"AS select concat ( 'a', 'b') AS "col1" ... 1 row in set (0.00 sec)
뷰 정의를 정규 형식으로 저장하는 이점은 나중에 sql_mode
값을 변경해도 뷰의 결과에 영향을 미치지 않을 것입니다. 그러나 SELECT
의 앞에있는 주석이 서버에 의해 정의에서 제거된다는 다른 영향이 있습니다.