题目:

1、运行MySQL

2、创建数据库,数据库名为gradesystem

3、数据库gradesystem中包含三张表,分别为:student、course、mark

     student表包含3列:sid(主键)、sname、gender

     

sid sname gender
1 Tom male
2 Jack male
3 Rose female

     course表包含2列:cid(主键)、cname

 

cid cname
1 math
2 physics
3 chemistry

 

     mark表包含4列:mid(主键)、sid、cid、score,注意与其它两个表主键之间的关系

 

 

mid

sid cid score
1 1 1 80
2 2 1 85
3 3 1 90
4 1 2 60
5 2 2 90
6 3 2 75
7 1 3 90
8 2 3 75
9 3 3 85

4、将数据插入到各表中

提示:

         建立表时注意id自增和键约束

         每个表插入数据可通过一条数据完成

 

 

解答:

1、运行MySQL,使其处于运行状态

     MySQL基础篇-练习题

2、创建数据库

     CREATE DATABASE gradesystem;

     MySQL基础篇-练习题

3、链接数据库

     use gradesystem;

     MySQL基础篇-练习题

4、创建表

     1)创建student表

          CREATE TABLE student(

                      sid int auto_increment,

                      sname char(20),

                      gender enum('male','female'),

                      primary key(sid));

         MySQL基础篇-练习题

     2)创建course表

          CREATE TABLE course(

               cid int auto_increment,

               cname char(20)

               primary key(cid));

         MySQL基础篇-练习题

     3)创建mark表

          CREATE TABLE mark(

               mid int auto_increment,

               sid int,

               cid int,

               score char(20),

               primary key(mid));

        MySQL基础篇-练习题

5、插入数据

     1)student表

          INSERT INTO student(sname,gender) VALUES

          ('Tom','male'),

          ('Jack','male'),

          ('Rose','female');

         MySQL基础篇-练习题

    2)course表

         INSERT INTO course(cnamd) VALUE

        ('math'),

        ('physics'),

        ('chemistry');

       MySQL基础篇-练习题

   3)mark表

        INSERT INTO mark(sid,cid) 

        SELECT sid,cid FROM student

        CROSS JOIN course;

        MySQL基础篇-练习题

        输入后,查询下mark表的数据

        MySQL基础篇-练习题

       这里引入了一个“笛卡尔积”的概念,取student表和course表中的sid和cid,做出排列组合,并展示在mark表中

       但是,表中的score字段还没有值

       所以,需要用到UPDATE语句将score的值传进去

       使用UPDATE语句时,需要注意,一定要写好WHERE条件!!!!!

       UPDATE mark SET score=80 WHERE sid=1 AND cid=1;

       MySQL基础篇-练习题

      每一条都用UPDATE修改一下值,即可

      修改之后,再次查看mark表的数据

      MySQL基础篇-练习题

6、对表格设置外键

     1)sid的外键对应student表中的sid

          ALTER TABLE mark ADD FOREIGN KEY(sid) 

         REFERENCES student(sid);

         MySQL基础篇-练习题

     2)cid的外键对应course表中的cid

          ALTER TABLE mark ADD FOREITN KEY(cid) 

         REFERENCES course(cid);

         MySQL基础篇-练习题

 

至此,本习题中的所有需求,均已完成

相关文章: