web-dev-qa-db-ja.com

ビューの作成に使用したクエリを取得するにはどうすればよいですか?

私の会社では、エクスポートに使用するビューを作成しました。このテーブルの作成に使用されるクエリに問題がある可能性があります。

だからここに私の質問があります:

上記のビューテーブルの作成に使用したクエリを取得することはできますか?

5
Opaldes

ビュー定義は情報スキーマに保存されます。

SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS
   WHERE TABLE_NAME = 'yourviewname'
12
mustaccio

文書化された機能を使用できますSHOW CREATE VIEW view_name公式のdev.MySQL.com Webサイトに記載されています。

参考:
13.7.5.14 SHOW CREATE VIEW構文(バージョン5.5)
14.7.5.13 SHOW CREATE VIEW構文(バージョン5.7)

mysql> SHOW CREATE VIEW v\G 
 *************************** 1.行******* ******************** 
ビュー:v 
ビューの作成:CREATE ALGORITHM = UNDEFINED 
 DEFINER = `bob` @ `localhost` 
 SQL SECURITY DEFINER VIEW 
` v` AS select 1 AS `a`、2 AS` b` 
 character_set_client:latin1 
 collat​​ion_connection:latin1_swedish_ci
2

「show create view」は、ビューをそのままの状態で再作成するためのDDLを提供します(selectステートメントで完了)。

show create view view_name_here \G

\ Gは拡張go形式です(列を水平ではなく垂直に表示します)

1
RMathis

ビュー定義は、INFORMATION_SCHEMAテーブルに格納されます。

SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = 'viewnamehere'

ビュー「xyz」を作成し、しばらくしてこのビューを変更した場合、この上記のクエリは、ビューの作成に使用されたクエリとビューを変更するクエリの両方を表示します。

最新のビュークエリだけが必要な場合は、次のコマンドを実行するだけです。

SHOW CREATE VIEW 'viewnamehere'

このクエリは、character_set_client、collat​​ion_connection、DEFINERなどのビューに関するすべての情報を表示します。

0
Manoj Kumar