1. 使用SQL语句ALTER TABLE分别删除studentsdb数据库的student_info表、grade表、curriculum表的主键索引
      1. USE studentsdb;
      2. ALTER TABLE student_info DROP PRIMARY KEY;
      3. ALTER TABLE grade DROP PARIMARY KEY;
      4. ALTER TABLE curriculum DROP PRIMARY KEY;
    1. 使用SQL语句为curriculum表的课程编号创建唯一索引,命名为cno_idx。

      1. CREATE UNIQUE INDEX cno_idx ON curriculum(课程编号)
    2. 使用SQL语句为grade表的“分数”字段创建一个普通索引,命名为grade_idx。

      1. CREATE NONUNIQUE INDEX grade_idx ON grade(分数);
    3. 使用SQL语句为grade表的“学号”和“课程编号”字段创建一个复合唯一索引,命名为grade_sid_cid_idx。

      1. CREATE UNIQUE INDEX grade_sid_cid_idx ON grade(学号,课程编号);
    4. 查看grade表上的索引信息。

      1. SHOW INDEX FROM grade;
    5. 使用SQL语句删除索引grade_idx。再次查看grade表上的索引信息。

      1. DROP INDEX grade_idx ON grade;
      2. SHOW INDEX FROM grade;
    6. 使用SQL语句CREATE VIEW建立一个名为v_stu_c的视图,显示学生的学号、姓名、所学课程的课程编号,并利用视图查询学号为0003的学生情况。 ```sql CREATE VIEW v_stu_c AS SELECT s.学号,姓名,课程编号 FROM student_info as s,grade as g WHERE s.学号 = g.学号;

    SELECT * FROM v_stu_c WHERE 学号 = ‘0003’;

    1. 8. 基于student_info表、curriculum表和grade表,建立一个名为v_stu_g的视图,视图包括所有学生的学号、姓名、课程名称、分数。使用视图v_stu_g查询学号为0001的学生的课程平均分。
    2. ```sql
    3. CREATE VIEW v_stu_g
    4. AS
    5. SELECT s.学号,姓名,课程名称,分数
    6. FROM student_info as s,curriculum as c,grade as g
    7. WHERE s.学号 = g.学号 AND g.课程编号 = c.课程编号;
    8. SELECT AVG(分数) as 课程平均分
    9. FROM v_stu_g
    10. WHERE 学号 = '0001';
    1. 使用SQL语句修改视图v_stu_g,显示学生的学号、姓名、性别。 ```sql ALTER VIEW v_stu_g AS SELECT 学号,姓名,性别 FROM studeng_info;
    1. 10. 利用视图v_stu_gstudent_info表添加一行数据:学号为0010、姓名为陈婷婷、性别为女。
    2. ```sql
    3. INSERT INTO v_stu_g(学号,姓名,性别)
    4. VALUES('0010','陈婷婷','女')
    1. 利用视图v_stu_g删除学号为0010的学生记录。

      1. DELETE FROM v_stu_g
      2. WHERE 学号 = '0001';
    2. 利用视图v_stu_g修改姓名为张青平的学生的高等数学的分数为87。

      1. UPDATE grade SET 分数 = 87
      2. WHERE 学号 = (SELECT 学号 FROM v_stu_g WHERE 姓名 = '张青平')
      3. and 课程编号 = (SELECT 课程编号 FROM curriculum WHERE 课程名称 = '高等数学');
    3. 使用SQL语句删除视图v_stu_c和v_stu_g。

      1. DROP VIEW v_stu_c,v_stu_g;