如何用SQL语句对所有的用户表授权

作者&投稿:佐怕 (若有异议请与网页底部的电邮联系)
SQL如何使用授于权限让用户查询数据库中的所有表?~

--创建登录账号
CREATE LOGIN USER1 WITH PASSWORD='123';
GO

--打开授权的数据库(假设给数据库TEST授权)
USE TEST
GO

--将登录账号映射为当前数据库用户
CREATE USER USER1 FOR LOGIN USER1
GO

--授予用户对当前数据库所有表具有查询权
EXEC sp_addrolemember 'db_datareader', 'USER1'

指定数据库,需要有所有表查询权限和视图创建权限use[database]Grantselectto[userName]GRANTCREATEVIEWTO[userName]

RANT语句的一般格式为:
GRANT <权限>[,<权限>]...
[ON <对象类型> <对象名>]
TO <用户>[,<用户>]...
[WITH GRANT OPTION];
其语义为:将对指定操作对象的指定操作权限授予指定的用户。
不同类型的操作对象有不同的操作权限,常见的操作权限如表3-4所示。

表3-4 不同对象类型允许的操作权限

对象 对象类型 操作权限
属性列 TABLE SELECT, INSERT, UPDATE, DELETE ALL PRIVIEGES
视图 TABLE SELECT, INSERT, UPDATE, DELETE ALL PRIVIEGES
基本表 TABLE SELECT, INSERT, UPDATE, ALTER, INDEX,DELETE ALL PRIVIEGES
数据库 DATABASE CREATETAB

详细信息…
接受权限的用户可以是一个或多个具体用户,也可以是PUBLIC即全体用户。
如果指定了WITH GRANT OPTION子句,则获得某种权限的用户还可以把这种权限再授予别的用户。如果没有指定WITH GRANT OPTION子句,则获得某种权限的用户只能使用该权限,但不能传播该权限。

例1
把查询Student表权限授给用户U1
GRANT SELECT ON TABLE Student TO U1;

例2
把对Student表和Course表的全部权限授予用户U2和U3
GRANT ALL PRIVILIGES ON TABLE Student, Course TO U2, U3;

例3
把对表SC的查询权限授予所有用户
GRANT SELECT ON TABLE SC TO PUBLIC;

例4
把查询Student表和修改学生学号的权限授给用户U4
详细信息…
这里实际上要授予U4用户的是对基本表Student的SELECT权限和对属性列Sno的UPDATE权限。授予关于属性列的权限时必须明确指出相应属性列名。完成本授权操作的SQL语句为:
GRANT UPDATE(Sno), SELECT ON TABLE Student TO U4;

例5
把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户
GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION;
详细信息…
执行此SQL语句后,U5不仅拥有了对表SC的INSERT权限,还可以传播此权限,即由U5用户发上述GRANT命令给其他用户。

例如U5可以将此权限授予U6:
GRANT INSERT ON TABLE SC TO U6 WITH GRANT OPTION;
同样,U6还可以将此权限授予U7:
GRANT INSERT ON TABLE SC TO U7;
因为U6未给U7传播的权限,因此U7不能再传播此权限。

例6
DBA把在数据库S_C中建立表的权限授予用户U8
GRANT CREATETAB ON DATABASE S_C TO U8;

use databasename

grant

[DELETE, INSERT, REFERENCES, SELECT, UPDATE] on tablename to username
go

you can make a loop to go through all the tables and users in the database


用SQL语句判断系统当前时间在一个时间段内。加急,在线等
0 end as TimeTypeCD,case when CONVERT(varchar(12) , 时间,108 ) between '08:00:00' and '19:59:59' then '白天' else '黑夜' end as TimeTypeName FROM dbo.Mst5STimeType ORDER BY TimeTypeCD 不用加where条件了,是不是叫黑夜我也不知道,那地方你自己改一下吧,不懂再问 ...

使用sql语句在select的时候要对得到的字符串中进行修改应该怎么做...
首先,你数据库是什么?不同数据库可能用到的函数不同 然后,你是要替换第4到第7位还是中间4个一样的?

用sql语句如何将两张表中的一列数据进行比对。
你好!先获取不重复的ID,即x、y表的不重复并集,观察x、y表结构类似,通过union进行排重即可。使用第一步获取的数据进行左链接x、y表的扩展表(第3步)。分别对x、y表进行分组并合计,针对图片中y表中ID为A的记录出现多次,最后显示为ID为A的盘点数量为2,这样的数据进行处理,以方便最后显示。...

怎么用SQL语句查询所有学生所学课程(单个学生学的多门课程)的最高分...
SELECT student.sno AS `学号`,student.sname AS `姓名`,MAX(grade) AS `最高分`,MIN(grade) AS `最低分`,AVG(grade) AS `平均分`FROM sc JOIN student ON sc.sno = student.sno GROUP BY sc.sno ;

sql语句怎样改变维度和指标
对于SQL语句来改变维度和指标,我们可以通过使用SELECT语句和聚合函数来实现。1. 改变维度:维度是用于描述数据的特征或属性,如日期、地区、产品等。可以通过在SELECT语句中选择不同的列或添加计算列来改变维度。例如,如果原始数据表中有日期和地区两个维度列,我们可以选择只查询日期列,或者在查询结果中...

如何使用SQL?
这里我们进行了多列的选择和排序。排序的优先级由语句中的列名顺序所决定。SQL将先对列出的第一个列进行排序。如果在第一个列中出现了重复的行时,这些行将被按照第二列进行排序,如果在第二列中又出现了重复的行时,这些行又将被按照第三列进行排序……如此类推。这次查询的结果如表5所示。将一个...

使用T-SQL语句编程实现,对1到100中的奇数进行求和
declare @i tinyint,@sum int set @sum=0 set @i=0 while @i>=0 begin if(@i>=100)begin select'总和'=@sum break end else begin set @i=@i+1 if(@i%2)=0 continue else set @sum=@sum+@i end end

如何用SQL语句还原数据库到现有的数据库上?
另外,也可用图形界面的方法:1、登录数据库。2、右键点击数据库,并选择还原数据库。3、如图位置选择要还原到的数据库名称。4、勾选源设备,然后在右侧...处选择备份文件的路径。5、添加完数据后依次点击确定。6、在选择用于还原的备份集出勾选所选的文件,然后点击确定,等待还原完成即可。

用一条SQL语句显示所有人员的姓名及所在部门
test b \/*将原表test定义为表b*\/ where b.type = a.type and b.fen = a.fen \/*根据表a取得的数据列再到b表中查询对应的数据行得到最终目的*\/ 解释:这一方法主要使用了sql多表查询,表的别名思想 方法二:select id,fen,name from test where fen in(select type,max(fen) from ...

紫金桥如何用sql语句从关系数据库筛选出想要的字段值并赋值给中间变量...
数据库中的数据是为众多用户所共享其信息而建立的,已经摆脱了具体程序的限制和制约。不同的用户可以按各自的用法使用数据库中的数据;多个用户可以同时共享数据库中的数据资源,即不同的用户可以同时存取数据库中的同一个数据。数据共享性不仅满足了各用户对信息内容的要求,同时也满足了各用户之间信息通信...

通州市17318486003: sql server中如何用sql语句创建用户对某个数据的所有表的所有权限 -
德侵君捷: exec sp_addlogin 'test' --添加登录 exec sp_grantdbaccess N'test' --使其成为当前数据库的合法用户 exec sp_addrolemember N'db_owner', N'test' --授予对自己数据库的所有权限

通州市17318486003: SQL如何使用授于权限让用户查询数据库中的所有表? -
德侵君捷: --创建登录账号 CREATE LOGIN USER1 WITH PASSWORD='123'; GO--打开授权的数据库(假设给数据库TEST授权) USE TEST GO--将登录账号映射为当前数据库用户 CREATE USER USER1 FOR LOGIN USER1 GO--授予用户对当前数据库所有表具有查询权 EXEC sp_addrolemember 'db_datareader', 'USER1'

通州市17318486003: sql中怎么设置用户只有某数据库中所有表的权限 -
德侵君捷: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16declare@roworder int declare@namevarchar(50) declare@str varchar(500) declare@cnt int selectidentity(int,1,1) roworder ,nameinto#tmp fromsysobjects wherextype = 'u'--name like 'PLMST_%' select@cnt ...

通州市17318486003: sql中如何用什么语句给用户授权 -
德侵君捷: grant select on scott.Employees to user1,user2;不需要TABLE 这个参数. 并且表要带用户.

通州市17318486003: 将多个表空间给一个用户的sql的语句? -
德侵君捷: 你说的是把数据库的一些表授权给某个用户吧, 选中分配给用户的数据库—〉用户—〉选中新建的用户, 右键选择属性,点击“权限”,为用户分配可以访问的表和具体的操作

通州市17318486003: 如何让一个用户拥有另外一个用户中所有表的访问权限 -
德侵君捷: 只要将用户1下所有表的查询权限赋给用户2即可.但是,用户1下可能有很多表,如果一条一条地写grant语句很不现实,这里介绍一种便捷的方法:通过查询语句得到grant赋权限脚本,执行一下就可以了. SQL> show user USER 为"SYS" SQL> create user ...

通州市17318486003: 如何把A用户下所有表的select权限授予给B用户 -
德侵君捷: Oracle创建一个用户并赋予其他用户表的访问权限的方法--第一步:创建用户 create user username identified by password;--第二步:给用户赋值接触锁定(仅仅赋予会话权限) grant create session to ytqs;--第三步(登录所要访问表的用户(ytcj),执行如下语句,并把结果保存为sql文件):select 'GRANT ALL ON '||table_name||' to username;' from user_tables;--第三步:用dba登录并执行上一步形成的sql文件.

通州市17318486003: 对已登录用户帐户进一步授权访问所设计的数据库中的某些表的SQL语句怎么写?急~~ -
德侵君捷: 用grant语句 如果是sql server的话 你可以在联机丛书中查询grant 里面有很详细的解答 下例显示权限的优先顺序.首先,给 public 角色授予 SELECT 权限.然后,将特定的权限授予用户 Mary、John 和 Tom.于是这些用户就有了对 authors 表的...

通州市17318486003: SQL2000怎么赋予用户在某个数据库中的所有表 所有权限?急求解答!!! -
德侵君捷: 可以用SA登陆 先创建一个角色,并给这些角色你要赋予的权限,然后给用户分配这个角色, 通俗的讲,就是你先设置一个总经理的职位,然后说这个总经理有一些特权,然后你任命某某人是总经理了,就是这么一个流程

通州市17318486003: ORACLE中有没有赋予一个用户查询另一个用户所有表的权限 -
德侵君捷: 你好:下面语句中有你需要的这个权限:select any table(如果针对单个用户的表话,这个没有,只能一个表一个表的授权) 创建用户并授权 上接第一步. 在SQL>后面输入创建用户的语句: create user vpetl identified by vpetl default ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网