为了账号安全,请及时绑定邮箱和手机立即绑定

为什么grant select on student to A 就可以运行了?

为什么grant select on student to A 就可以运行了?

莫回无 2022-04-08 11:07:00
给已经建好的用户A授权,课本上的语句是grant select on table student to A结果table附近有语法错误后来我去掉tablegrant select on student to A就可以运行了请问这是为什么? 难道课本是错的? 还是SQL版本问题?课本已经把表名student写在table后面了 如果说table表示表名,那课本的意思岂不是grant select on student student to A输入2次student?
查看完整描述

3 回答

?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

课本是错的
不需要table关键字
grant 只能针对表操作 所以不用加table 多此一举
drop 可以针对很多对象 所以删表时 要写成drop table xxx
delete 总是针对全列 所以写delete from 而不是写成 delete * from
某处语法是否需要某个关键字 很大程度上取决于会不会产生歧义

查看完整回答
反对 回复 2022-04-11
?
眼眸繁星

TA贡献1873条经验 获得超9个赞

grant <对象语句>如(select,delete,update)on <表名> to <用户名>,
这个是sql语言的语法规则。所以这里的table是多余的,课本可能是拿它来代替广义的表名。grant select on student to A
意思居室将student表的select功能授权给A。

查看完整回答
反对 回复 2022-04-11
?
撒科打诨

TA贡献1934条经验 获得超2个赞

它那个table就是 表名的意思 不是关键字
好比书上的例子 select * from table
你在写的时候 select * from table student
这样是不行的 

查看完整回答
反对 回复 2022-04-11
  • 3 回答
  • 0 关注
  • 208 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信