黑狐家游戏

关系数据库标准语言SQL实验报告,关系数据库标准语言sql实验报告总结

欧气 1 0

本文目录导读:

  1. 实验目的与要求
  2. 实验环境与工具
  3. 实验步骤与过程
  4. 实验总结与反思
  5. 参考文献

实验目的与要求

本次实验旨在通过实际操作加深对关系数据库标准语言SQL的理解和应用能力,主要任务包括创建数据库、设计表结构、插入数据、查询数据以及执行复杂的SQL语句。

实验环境与工具

实验环境为Windows 10操作系统,使用MySQL Workbench作为数据库管理工具。

实验步骤与过程

创建数据库和表结构

  1. 连接到MySQL服务器

    关系数据库标准语言SQL实验报告,关系数据库标准语言sql实验报告总结

    图片来源于网络,如有侵权联系删除

    打开MySQL Workbench,输入服务器地址、端口、用户名和密码进行连接。

  2. 创建数据库

    CREATE DATABASE `mydatabase`;
  3. 选择数据库

    • 在左侧导航栏中选择mydatabase数据库。
  4. 创建学生信息表(student_info)

    CREATE TABLE student_info (
        id INT NOT NULL AUTO_INCREMENT,
        name VARCHAR(50),
        age INT,
        gender CHAR(1),
        address VARCHAR(100),
        PRIMARY KEY (id)
    );
  5. 创建课程信息表(course_info)

    CREATE TABLE course_info (
        id INT NOT NULL AUTO_INCREMENT,
        course_name VARCHAR(50),
        credit DECIMAL(3,1),
        teacher VARCHAR(50),
        PRIMARY KEY (id)
    );
  6. 创建选课记录表(enrollment_record)

    CREATE TABLE enrollment_record (
        sid INT,
        cid INT,
        grade DECIMAL(3,1),
        FOREIGN KEY (sid) REFERENCES student_info(id),
        FOREIGN KEY (cid) REFERENCES course_info(id)
    );

插入数据

  1. 向学生信息表中插入数据

    INSERT INTO student_info (name, age, gender, address)
    VALUES ('张三', 20, '男', '北京市朝阳区');
    INSERT INTO student_info (name, age, gender, address)
    VALUES ('李四', 21, '女', '上海市浦东新区');
    -- 添加更多学生信息...
  2. 向课程信息表中插入数据

    INSERT INTO course_info (course_name, credit, teacher)
    VALUES ('数据库原理', 4.0, '王老师');
    INSERT INTO course_info (course_name, credit, teacher)
    VALUES ('计算机网络', 3.5, '张老师');
    -- 添加更多课程信息...
  3. 向选课记录表中插入数据

    关系数据库标准语言SQL实验报告,关系数据库标准语言sql实验报告总结

    图片来源于网络,如有侵权联系删除

    INSERT INTO enrollment_record (sid, cid, grade)
    VALUES (1, 1, 85);
    INSERT INTO enrollment_record (sid, cid, grade)
    VALUES (2, 2, 90);
    -- 添加更多选课记录...

查询数据

  1. 查询所有学生的基本信息

    SELECT * FROM student_info;
  2. 查询某位学生的详细信息

    SELECT * FROM student_info WHERE name = '张三';
  3. 查询所有课程的学分情况

    SELECT course_name, credit FROM course_info;
  4. 查询某门课程的详细信息和选修该课程的学生人数

    SELECT course_name, COUNT(*) AS student_count
    FROM enrollment_record
    JOIN course_info ON enrollment_record.cid = course_info.id
    GROUP BY course_name;

复杂查询与统计

  1. 查询平均成绩最高的前两名课程

    SELECT course_name, AVG(grade) AS average_grade
    FROM enrollment_record
    JOIN course_info ON enrollment_record.cid = course_info.id
    GROUP BY course_name
    ORDER BY average_grade DESC
    LIMIT 2;
  2. 查询选修了“数据库原理”且成绩大于等于90分的学生姓名

    SELECT si.name
    FROM student_info si
    JOIN enrollment_record er ON si.id = er.sid
    JOIN course_info ci ON er.cid = ci.id
    WHERE ci.course_name = '数据库原理' AND er.grade >= 90;

实验总结与反思

通过本次实验,我深入学习了如何使用SQL语言在关系型数据库中进行数据的增删改查操作,熟练掌握了基本的CRUD操作后,我开始尝试编写更复杂的查询语句,如分组聚合函数的使用以及JOIN子句的应用等,我也意识到在实际应用中需要考虑性能优化和数据完整性等问题,这为进一步的学习和实践提供了方向和动力。

参考文献

标签: #关系数据库标准语言sql实验报告

黑狐家游戏

上一篇SEO优化,如何提升网站流量与排名?seo文章模板

下一篇当前文章已是最新一篇了

  • 评论列表

留言评论