视图是从数据库中的一个或多个表中导出来的虚拟表,起作用是方便用户对数据的操作。
- mysql> create view
- -> user_view(username,password)
- -> as select username,password from user
- -> ;
- Query OK, 0 rows affected (0.09 sec)
- mysql> create or replace view user_view(username) as select username from user;
- Query OK, 0 rows affected (0.19 sec)
- mysql> desc user_view;
- +———-+————-+——+—–+———+——-+
- | Field | Type | Null | Key | Default | Extra |
- +———-+————-+——+—–+———+——-+
- | username | varchar(50) | NO | | NULL | |
- +———-+————-+——+—–+———+——-+
- 1 row in set (0.05 sec)
第一句修改了user_view视图 第二句查看user_view的结构,跟查看表结构一样
- mysql> insert into user_view values(‘1’,‘1’);
- Query OK, 1 row affected (0.06 sec)
- mysql> select * from user_view;
- +———-+———-+
- | username | password |
- +———-+———-+
- | kenan | kenan |
- | kenan | lele |
- | lele | lele |
- | 1 | 1 |
- +———-+———-+
- 4 rows in set (0.00 sec)
- mysql> select * from user;
- +—-+———-+———-+———————+
- | id | username | password | createtime |
- +—-+———-+———-+———————+
- | 1 | kenan | kenan | 2012-10-31 15:32:26 |
- | 3 | kenan | lele | 2012-10-31 15:32:26 |
- | 4 | lele | lele | NULL |
- | 5 | 1 | 1 | NULL |
- +—-+———-+———-+———————+
- 4 rows in set (0.00 sec)
当对视图进行插入操作的时候,就是对实体表进行插入操作
- mysql> drop view if exists user_view;
- Query OK, 0 rows affected (0.00 sec)
- mysql> desc user_view;
- ERROR 1146 (42S02): Table ‘test.user_view’ doesn’t exist
评论前必须登录!
立即登录