1. 定义数据库和表:

1) 创建学生-课程数据库student_course。

进入mysql命令行(两种方式:Navicat与Dos界面),使用SQL命令创建数据库student_course

gaussdb创建数据库mysql 创建数据库sc_mysql

 

2) 按照学生-课程数据库中的表结构,创建学生表Student、课程表Course和学生选课表SC,使用新创建的数据库,并在数据库student_course 创建学生表Student、课程表Course和学生选课表SC:

gaussdb创建数据库mysql 创建数据库sc_表数据_02

gaussdb创建数据库mysql 创建数据库sc_gaussdb创建数据库mysql_03

 

gaussdb创建数据库mysql 创建数据库sc_数据库_04

 

gaussdb创建数据库mysql 创建数据库sc_连接查询_05

 

显示表结构:

gaussdb创建数据库mysql 创建数据库sc_连接查询_06

  

gaussdb创建数据库mysql 创建数据库sc_mysql_07

gaussdb创建数据库mysql 创建数据库sc_连接查询_08

 

插入数据:

查询Student表中数据:

gaussdb创建数据库mysql 创建数据库sc_连接查询_09

利用Insert语句进行数据的插入。

  1. Student表插入一个新学生元祖(学号:201215121,姓名:李勇,性别:男,年龄:20岁,所在系:CS)。

注意:指明表属性,因此赋值要与指明的表属性相对应

gaussdb创建数据库mysql 创建数据库sc_数据库_10

  1. 向Student表插入一个新学生元祖(学号:201215122,姓名:刘晨,性别:女,年龄:19岁,所在系:CS)。

注意:没有指明表属性,因此列的值顺序要与定义表Student时的属性顺序相同

 

gaussdb创建数据库mysql 创建数据库sc_连接查询_11

  1. 向Student表插入一个新学生元祖(学号:201215123,姓名:王敏,性别:女,所在系:MA,年龄:18岁)。

注意:指明表属性,且顺序与表定义的属性顺序不一值,赋值要与指明的表属性顺序一致

 

gaussdb创建数据库mysql 创建数据库sc_gaussdb创建数据库mysql_12

 

  1. 向Student表插入一个新学生元祖(所在系:IS,年龄:19岁,学号:201215125,姓名:张立,性别:男),参考例3.69。

注意:指明表属性,且顺序与表定义的属性顺序不一值,赋值要与指明的表属性顺序一致

 

gaussdb创建数据库mysql 创建数据库sc_mysql_13

  1. 对每一个系,求学生的平均年龄,并把结果存入数据库中,参考例3.72。

需要创建一个新表,用来存放系别与平均年龄:

 

gaussdb创建数据库mysql 创建数据库sc_连接查询_14

gaussdb创建数据库mysql 创建数据库sc_mysql_15

 

接着对Student表按系分组求平均年龄,并将系别和平均年龄存入新表

注意:利用子查询插入数据,插入的是一组数据

gaussdb创建数据库mysql 创建数据库sc_连接查询_16

gaussdb创建数据库mysql 创建数据库sc_连接查询_17

 

修改先行课Cpno

gaussdb创建数据库mysql 创建数据库sc_表数据_18

gaussdb创建数据库mysql 创建数据库sc_数据库_19

 

gaussdb创建数据库mysql 创建数据库sc_表数据_20

 

 

给SC表插入数据

gaussdb创建数据库mysql 创建数据库sc_数据库_21

 

gaussdb创建数据库mysql 创建数据库sc_连接查询_22

 

gaussdb创建数据库mysql 创建数据库sc_mysql_23

 

gaussdb创建数据库mysql 创建数据库sc_连接查询_24

 

 

  1. 修改数据:
  2. 将学生201215121的年龄改为22岁,参考例3.73。

查询修改之前的表数据:

gaussdb创建数据库mysql 创建数据库sc_表数据_25

 

 

修改:

gaussdb创建数据库mysql 创建数据库sc_mysql_26

 

 

查询修改之后的表数据:

gaussdb创建数据库mysql 创建数据库sc_数据库_27

 

 

  1. 将所有学生的年龄增加1岁,参考例3.74。

查询修改之前的表数据:

gaussdb创建数据库mysql 创建数据库sc_mysql_28

 

 

修改:

gaussdb创建数据库mysql 创建数据库sc_gaussdb创建数据库mysql_29

 

 

查询修改之后的表数据:

gaussdb创建数据库mysql 创建数据库sc_mysql_30

 

 

  1. 将计算机科学系全体学生的成绩置零,参考例3.75。

查询修改前计算机科学系学生的成绩(利用连接查询):

gaussdb创建数据库mysql 创建数据库sc_连接查询_31

 

 

修改(带子查询的修改):

gaussdb创建数据库mysql 创建数据库sc_表数据_32

 

查询修改后的计算机科学系学生成绩(利用连接查询):

gaussdb创建数据库mysql 创建数据库sc_表数据_33

 

  1. 思考与练习:将数学课程的学分改为3,参考例3.73。

修改前查询课程表信息:

gaussdb创建数据库mysql 创建数据库sc_表数据_34

 

 

修改:

gaussdb创建数据库mysql 创建数据库sc_mysql_35

 

 

修改后查询课程信息:

gaussdb创建数据库mysql 创建数据库sc_连接查询_36

 

 

  1. 思考与练习:将所有学生的成绩设置为90,参考例3.74。

修改前查看选课表成绩信息:

gaussdb创建数据库mysql 创建数据库sc_gaussdb创建数据库mysql_37

 

 

修改:

gaussdb创建数据库mysql 创建数据库sc_mysql_38

 

 

修改后查看成绩信息:

gaussdb创建数据库mysql 创建数据库sc_mysql_39

 

 

  1. 思考与练习:将所有男生的成绩加1分,参考例3.75。

查询所有男生的成绩(利用连接查询):

gaussdb创建数据库mysql 创建数据库sc_mysql_40

 

 

修改:

gaussdb创建数据库mysql 创建数据库sc_mysql_41

 

查询修改后的男生的成绩(利用连接查询):

gaussdb创建数据库mysql 创建数据库sc_表数据_42

 

  1. 删除数据:
  2. 删除学号为201215125的学生记录,参考例3.76。

查询学生记录:

gaussdb创建数据库mysql 创建数据库sc_表数据_43

 

 

删除:

gaussdb创建数据库mysql 创建数据库sc_mysql_44

 

 

查询删除后的学生记录:

gaussdb创建数据库mysql 创建数据库sc_数据库_45

 

 

  1. 删除计算机科学系所有学生的选课记录,参考例3.77。

gaussdb创建数据库mysql 创建数据库sc_表数据_46

 

 

  1. 思考与练习:删除课程号为1的课程信息,参考例3.76。

查询删除之前的课程记录:

gaussdb创建数据库mysql 创建数据库sc_gaussdb创建数据库mysql_47

 

 

删除:

gaussdb创建数据库mysql 创建数据库sc_连接查询_48

 

 

  1. 注意:删除失败,显示外码约束错误,因为1号课程的课程号Cno被其他的先行课引用,所以删除1号课程之前需要删除引用它的3号课程