对于 Oracle 数据库,要查询全部表的话,需要这么写
GRANT SELECT ANY TABLE TO 数据库用户;
对于 SQL Server 数据库,要查询 某个数据库的全部表的话,需要这么写
先
USE 指定的数据库
GO
然后
GRANT SELECT TO 数据库用户
GO
这样, 这个数据库用户 就可以 SELECT 指定的数据库下的所有的表
1、grant语句
格式:grant select on 数据库 to 用户名@登录主机 identified by “密码”
说明:
(1)grant all 赋予所有的权限
(2)demo 数据库 demo 中所有的表
(3)newuser 用户名
(4)@localhost 在本地电脑上的 mysql server 服务器
(5)identfified by ‘password’ 设置密码
增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
2、sql语句
代码如下
mysql>INSERT INTO user (host,user,password) VALUES(’192168206%’,'high_vod’,PASSWORD(‘high_vod’));
mysql>INSERT INTO db
VALUES(’192168206%’,'high_vod’,'high_vod’,'Y’,'Y’,'Y’,'Y’,'Y’,'Y’,'N’,'Y’,'Y’,'Y’,'Y’,'Y’,'Y’,'Y’,'Y’,'Y’,'Y’,'Y’,'Y’);
mysql>FLUSH PRIVILEGES;
用存储过程用视图或用表的权限都可实现
A 授予语句权限
下面的示例给用户 Mary 和 John 以及 Windows NT 组 Corporate\BobJ 授予多个语句权限。
GRANT CREATE DATABASE, CREATE TABLE
TO Mary, John, [Corporate\BobJ]
B 在权限层次中授予对象权限
下例显示权限的优先顺序。首先,给 public 角色授予 SELECT 权限。然后,将特定的权限授予用户 Mary、John 和 Tom。于是这些用户就有了对 authors 表的所有权限。
USE pubs
GO
GRANT SELECT
ON authors
TO public
GO
GRANT INSERT, UPDATE, DELETE
ON authors
TO Mary, John, Tom
GO
C 给 SQL Server 角色授予权限
下面的示例将 CREATE TABLE 权限授予 Accounting 角色的所有成员。
GRANT CREATE TABLE TO Accounting
D 用 AS 选项授予权限
用户 Jean 拥有表 Plan_Data。Jean 将表 Plan_Data 的 SELECT 权限授予 Accounting 角色(指定 WITH GRANT OPTION 子句)。用户 Jill 是 Accounting 的成员,他要将表 Plan_Data 上的 SELECT 权限授予用户 Jack,Jack 不是 Accounting 的成员。
因为对表 Plan_Data 用 GRANT 语句授予其他用户 SELECT 权限的权限是授予 Accounting 角色而不是显式地授予 Jill,不能因为已授予 Accounting 角色中成员该权限,而使 Jill 能够授予表的权限。Jill 必须用 AS 子句来获得 Accounting 角色的授予权限。
/ User Jean /
GRANT SELECT ON Plan_Data TO Accounting WITH GRANT OPTION
/ User Jill /
GRANT SELECT ON Plan_Data TO Jack AS Accounting
更多的请参考联机帮助
以上就是关于我sql语句这样写: GRANT SELECT TO 数据库用户 该数据库用户是不是就可以查阅所有表了啊全部的内容,包括:我sql语句这样写: GRANT SELECT TO 数据库用户 该数据库用户是不是就可以查阅所有表了啊、试论述MySQL用户获取数据库数据访问权限的三种方法的具体使用、用SQL的GRANT语句完成以下授权定义或存取控制功能。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)