创建视图view2从sh_goods表中查询出id,name。权限控制为test用户,且默认安全控制由定义视图的用户权限来执行
时间: 2024-05-07 15:21:56 浏览: 9
首先,以定义视图的用户(假设为user1)登录数据库,并授权test用户访问sh_goods表:
```
GRANT SELECT ON sh_goods TO test;
```
然后,在user1的会话中创建视图view2,查询sh_goods表中的id和name:
```
CREATE VIEW view2 AS
SELECT id, name
FROM sh_goods;
```
默认情况下,视图是使用定义视图的用户的权限进行安全控制的。因此,test用户只能访问视图view2中的数据,而不能直接访问sh_goods表。
测试视图是否能正常查询数据,可以在test用户的会话中执行以下语句:
```
SELECT * FROM user1.view2;
```
如果返回了sh_goods表中的id和name字段,说明视图创建成功并且安全控制生效了。
相关问题
创建视图view2从sh_goods表中查询出id,name,权限控制为test用户,且默认安全控制由定义视图的用户权限来执行的mysql语句以及查看该视图
创建视图的语法如下:
```
CREATE VIEW view2 AS
SELECT id, name
FROM sh_goods
WHERE user = 'test';
```
这将创建一个名为view2的视图,从sh_goods表中查询出id和name,只显示user为test的行。默认情况下,视图的安全性与定义视图的用户权限相关。
要查看该视图的内容,可以使用以下语句:
```
SELECT * FROM view2;
```
这将显示视图中的所有行。请确保当前登录的用户具有访问该视图的权限。
创建视图view1从sh_goods表中查询出id,name。权限控制使用默认值,且默认安全控制由定义视图的用户权限来执
创建视图view1的SQL语句如下:
```
CREATE VIEW view1 AS
SELECT id, name
FROM sh_goods;
```
默认情况下,视图的权限和安全控制由创建视图的用户权限来执行。如果创建视图的用户有足够的权限查询sh_goods表中的id和name列,则所有用户都可以访问视图view1并查询这两列数据。如果创建视图的用户没有足够的权限,则其他用户将无法查询视图view1。