Show create view viewName
は、正しくフォーマットされたテキストを表示しません。正しい形式のSQLを取得するにはどうすればよいですか?
たとえば、create view v1 as select * from mysql.uer
のようなビューを作成しましたが、次のように返されます。
CREATE ALGORITHM=UNDEFINED DEFINER=root@localhost SQL SECURITY DEFINER
VIEW v1 AS
select
mysql.user.Host AS Host,
mysql.user.User AS User,
mysql.user.Password AS Password,
mysql.user.Select_priv AS Select_priv,
... ...,
mysql.user.Grant_priv AS Grant_priv,
mysql.user.References_priv AS References_priv,
mysql.user.Index_priv AS Index_priv,
mysql.user.Alter_priv AS Alter_priv
from mysql.user
どうすれば元の定義を取得できますか?
Show create view 'viewName'
create view
ステートメントを使用してSQL定義を返します。
SELECT VIEW_DEFINITION
FROM INFORMATION_SCHEMA.VIEWS
WHERE TABLE_SCHEMA = 'DATABASENAME'
AND TABLE_NAME = 'VIEWNAME';
定義のみを返します。
どちらもビュー定義を取得するのに適しています。