5.4 综合示例——学生表的数据操作

通过5.1~5.3节的学习,我们已经掌握了如何在数据库中创建、查看、修改和删除表。接下来,我们通过一个实战练习来巩固所学的知识。我们将在数据库school中创建一个student表,内容如表5-1所示。

表5-1 student表的内容

按照下列要求进行操作:

(1)将表5-2中的数据记录插入student表中。

表5-2 需要插入student表的内容

(2)将Emily Wang的民族改为蒙古族(Mongolian),并且将班级号改成2。

(3)将民族为汉的饮食都改为猪肉(pork)。

(4)删除年龄小于8岁的学生,视为不符合上学年龄。

接下来进行上机实战,步骤如下:

步骤01 执行SQL语句CREATE DATABASE,创建数据库school,并选择该数据库,具体SQL语句如下:

     CREATE DATABASE school;
     USE school;

执行结果如图5-82和图5-83所示。

图5-82 创建数据库

图5-83 选择数据库

步骤02 使用如下CREATE TABLE语句创建student表,再使用DESCRIBE语句查看表student的信息:

     CREATE TABLE student(
        id INT(4), stuid INT(10),
        name VARCHAR(20),gender VARCHAR(10),
        nationality VARCHAR(10),age INT(4),
        classno INT(11),diet VARCHAR(40));
     DESCRIBE student;

执行结果如图5-84和图5-85所示。

图5-84 创建表

图5-85 查看表信息

步骤03 使用INSERT INTO语句将表5-2中的数据都插入student表中,再使用SELECT检验数据是否插入成功,具体SQL语句如下:

     INSERT INTO student
        VALUES(1,10001,'Jack Ma','Male','Han',8,3,'mutton'),
        (2,10002,'Justin Zhou','Male','Han',8,1,'pork'),
        (3,10022,'Rebecca Li','Female','Hui',9,2,'beef'),
        (4,10010,'Emily Wang','Female','Han',9,2,'pork'),
        (5,10030,'Jim Yan','Male','Han',7,4,'pork');
     SELECT * FROM student;

执行结果如图5-86和图5-87所示。

图5-86 向学生表插入数据

图5-87 查询学生表数据记录

步骤04 将Emily Wang的民族改为蒙古族(Mongolian),并且将班级号改成2,再使用SELECT语句检验student表的数据,具体SQL语句如下:

     UPDATE student SET nationality='Mongonlian',classno=2
        WHERE name='Emily Wang';
        SELECT * FROM student;

执行结果如图5-88和图5-89所示。

图5-88 更新学生表的数据记录

图5-89 查询学生表student的数据记录

步骤05 使用UPDATE语句将民族为Han的饮食都改为pork,再使用SELECT语句检验student表的数据,具体SQL语句如下:

     UPDATE student SET diet='pork' WHERE nationality='Han';
     SELECT * FROM student;

执行结果如图5-90和图5-91所示。

图5-90 更新学生表数据

图5-91 查询学生表student的数据记录

步骤06 将民族为Mongolian的饮食改为mutton,再使用SELECT语句检验student表的数据,具体SQL语句如下:

     UPDATE student SET diet='mutton' WHERE nationality='Mongonlian';
     SELECT * FROM student;

执行结果如图5-92和图5-93所示。

图5-92 更新学生表的数据

图5-93 查询学生表student的数据记录

步骤07 删除年龄小于8岁的学生,视为不符合上学年龄,再使用SELECT语句检验student表的数据,具体SQL语句如下:

     DELETE FROM student WHERE age<8;
     SELECT * FROM student;

执行结果如图5-94和图5-95所示。

图5-94 删除学生表的数据

图5-95 查询学生表的数据