在root用户下,将对s_t数据库(即你建立的数据库)的teachers表中tno、tname属性的select权限授予用户u2。 在“u2”用户下,对teachers表执行下列操作,给出运行结果,并进行分析。 (1)Select * from teachers (2)Select tno,tname from teachers
时间: 2024-03-23 19:36:28 浏览: 127
数据库表的查询操作(实验二)
5星 · 资源好评率100%
您可以按照以下步骤授予用户u2对s_t数据库中teachers表的tno和tname属性的select权限:
1. 以root用户登录MySQL数据库。
2. 运行以下命令授予u2对s_t数据库中teachers表的tno和tname属性的select权限:
```sql
GRANT SELECT(tno, tname) ON s_t.teachers TO 'u2'@'%';
```
这条命令将授予用户u2在s_t数据库中teachers表的tno和tname属性的select权限。
3. 运行以下命令刷新权限:
```sql
FLUSH PRIVILEGES;
```
这条命令将使MySQL重新加载权限表,以便使新的权限设置生效。
4. 切换到u2用户,并连接到s_t数据库:
```sql
mysql -u u2 -p
Enter password: <输入u2用户密码>
use s_t;
```
5. 在u2用户下,对teachers表执行以下命令:
(1)Select * from teachers;
这条命令将查询teachers表中的所有列,并返回查询结果。
(2)Select tno,tname from teachers;
这条命令将查询teachers表中的tno和tname属性,并返回查询结果。
对于第一条查询语句,由于用户u2只被授予了tno和tname属性的select权限,因此MySQL将不允许用户u2查询teachers表中的其他属性。查询结果将只包含tno和tname两列。如果执行此查询语句,查询结果可能如下所示:
| tno | tname |
| ---- | --------- |
| 1001 | 张三 |
| 1002 | 李四 |
| 1003 | 王五 |
| 1004 | 赵六 |
对于第二条查询语句,由于用户u2被授予了tno和tname属性的select权限,因此MySQL将允许用户u2查询teachers表中的tno和tname属性,并返回查询结果。查询结果将只包含tno和tname两列。如果执行此查询语句,查询结果可能如下所示:
| tno | tname |
| ---- | --------- |
| 1001 | 张三 |
| 1002 | 李四 |
| 1003 | 王五 |
| 1004 | 赵六 |
需要注意的是,由于用户u2没有对teachers表的其他属性的select权限,因此如果尝试查询其他属性,MySQL将返回错误信息。
阅读全文