视图和索引

  1. 创建视图view1,其内容包括20岁以上所有学生学号、姓名和年龄;
    create view v1
    as
    select sno,sname,sage
    from student
    where sage > 20;
  2. 创建视图view2,其内容包括20岁以上所有学生学号、姓名和年龄,并使用with check option;
    create view v2
    as
    select sno,sname,sage
    from student
    where sage > 20
    with check option;
  3. 创建视图view3,其内容包括学生学号、姓名、课程号和成绩;
    create view v3
    as
    select student.sno,sname,cno,grade
    from student join sc
    on student.sno = sc.sno;
  4. 创建视图view4,其内容包括每门课程的平均成绩;
    create view v4
    as
    select cno,avg(grade)
    from sc
    group by cno;
  5. 为view1添加记录:学号11,姓名tom,年龄:18;
    mysql> insert into v1
    -> values(‘11’,‘tom’,18);
    Query OK, 1 row affected (0.03 sec)
  6. 查看view1的内容;
    select * from v1;
  7. 为view2添加记录:学号12,姓名jerry,年龄:19;结果如何?
    mysql> insert into v2
    -> values(‘12’,‘jerry’,19);
    ERROR 1369 (HY000): CHECK OPTION failed ‘xkdb.v2’
  8. 为view3添加内容:学号:13,姓名:mary、课程号:c01,成绩:85;结果如何?
    mysql> insert into v3
    -> values(‘13’,‘mary’,‘c01’,85);
    ERROR 1394 (HY000): Can not insert into join view ‘xkdb.v3’ without fields list
  9. 为view4添加内容:平均成绩:85,结果如何?
    mysql> insert into v4
    -> values(‘c03’,85);
    ERROR 1471 (HY000): The target table v4 of the INSERT is not insertable-into
  10. 为学生表的学号列创建唯一的升序索引ix_sno;
    create unique index ix_sno on student(sno asc);
  11. 删除学生表的索引ix_sno;
    drop index ix_sno on student;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值