视图本质上只是一条SQL语句而已、但令人蛋疼的是MySQL并没有把该SQL语句存储下来
而是像对待表一样、把视图的定义用文件的形式保存、以 .frm 存在
那么用show create view 显示的SQL将非常不友好
而是像对待表一样、把视图的定义用文件的形式保存、以 .frm 存在
那么用show create view 显示的SQL将非常不友好
下面介绍一种方法来突破这种限制
创建视图:
mysql> create view v_t as select id from t where id=2;
Query OK, 0 rows affected (0.03 sec)
到相应目录查找视图定义文件:
[mysql@obe11g test]$ pwd
/home/mysql/mysql/data/test
[mysql@obe11g test]$ ls -alh
total 128K
drwxr-xr-x 2 mysql dba 4.0K Jul 27 19:45 .
drwxr-xr-x 5 mysql dba 4.0K Jul 27 19:13 ..
-rw-r--r-- 1 mysql dba 65 Jun 19 10:20 db.opt
-rw-rw---- 1 mysql dba 8.4K Jul 24 19:58 t.frm
-rw-rw---- 1 mysql dba 96K Jul 27 19:44 t.ibd
-rwxrwxrwx 1 mysql dba 451 Jul 27 19:45 v_t.frm
先用 show create view查询:
mysql> show create view v_t;
+------+------------------------