请在“答题”菜单下选择相应命令,并按照题目要求完成下面的基本操作题,具体要求如下: 注意:下面出现的“考生文件夹”均为%USER% ...
注意:下面出现的“考生文件夹”均为%USER%
在考生文件夹给出的学生数据库db_student中有学生表tb_student和课程成绩表tb_score,tb_student包含的字段有sno(学号)、sname(姓名)、sage(年龄)和smajor(专业),tb_score包含的字段有sno(学号)、cname(课程名称)和grade(成绩)。
1. 使用SQL语句,在tb_student表中添加一个字段ssex,数据类型为char,长度为1,缺省值为“M”。
2. 用SQL语句将学号为100的学生的专业改为“计算机”。
3. 用SQL语句在tb_score表上建立一个视图v_avg(cname,caverage),视图的内容包含课程名称及课程的平均成绩。
4. 用SQL语句在tb_student表上建立关于学号的唯一性索引idx_stu。
5. 新建一个名称为newuser的用户,主机名为localhost,并为其授予对tb_student表的select权限。
参考解析: 1.alter table tb_student add ssex char(1) default 'M';
解析:用alter语句选择表,使用add语句添加字段,长度为1,缺省值为 ‘M’。
2.update tb_student set smajor='计算机' where sno=100;
解析:解析:用update语句更新表,使用set语句将学号为100的学生的专业改为“计算机”.
3.create view v_vag(cname,caverage) as select cname,avg(grade) from tb_score group by cname;//avg()函数与group by 一起使用
解析:使用create语句进行创建操作,本题创建视图其固定语法是create view view_name as select from table_name where;本题视图的名字为v_vag,其后括号的为展示的字段名,as select 后跟的是视图中所选的字段,本题有cno,cname,type,origin,birth,price是要展示的字段,where后跟的是所要查询的条件,本题求平均值的avg()函数与group by 一起使用。
4.alter table tb_student add unique index idx_stu(sno);
解析:使用alter语句选择表tb_student,使用add添加唯一索引,sno为添加索引的字段
5.create user ‘newuser’@’localhost’;
Grant select
On tb_student
To ‘newuser’@’localhost’
With grant option;
解析:首先要创建新用户 使用create user’username’@’host’ identified by’password’;username为用户名,host为主机名,indentified by 可以省略,后面是创建的密码。使用grant 语句指定授权的操作,本题的授权操作是select,可以授权只能查看的指定字段,on后面指定的是执行授权的表名,to后面指的是授权的用户,with grant option语句是指明授权的特权,使用grant必须拥有grant option权限。