如何有效管理MySQL数据库入门试题?

MySQL数据库入门试题管理系统,用于创建、编辑、删除和查询试题。

MySQL数据库入门试题

如何有效管理MySQL数据库入门试题?

MySQL数据库是一种常用的开源关系型数据库管理系统,广泛应用于各类Web应用和企业级应用中,掌握MySQL的基本操作和SQL语法是成为一名合格的数据库管理员或开发人员的重要技能,本文将通过一系列练习题帮助初学者快速掌握MySQL的基本知识和操作技巧。

创建表和插入数据

1、创建学生表:创建一个名为student的表,包含字段:学号(id)、姓名(name)、出生年月(birth)、性别(sex)。

CREATE TABLE student (
    id INT(10) NOT NULL AUTO_INCREMENT,
    name CHAR(20) NOT NULL,
    birth YEAR(4) DEFAULT NULL,
    sex CHAR(10) DEFAULT NULL,
    PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

2、创建成绩表:创建一个名为score的表,包含字段:学号(stu_id)、课程号(c_id)、成绩(grade)。

CREATE TABLE score (
    id INT(10) NOT NULL AUTO_INCREMENT,
    stu_id INT(10) NOT NULL,
    c_id CHAR(20) DEFAULT NULL,
    grade INT(10) DEFAULT NULL,
    PRIMARY KEY (id),
    KEY score_ibfk_1 (stu_id),
    CONSTRAINT score_ibfk_1 FOREIGN KEY (stu_id) REFERENCES student (id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;

3、为学生表和成绩表增加记录

 向student表插入记录
INSERT INTO student (id, name, sex, birth) VALUES (1, '张老大', '男', 1985);
INSERT INTO student (id, name, sex, birth) VALUES (2, '张老二', '男', 1986);
INSERT INTO student (id, name, sex, birth) VALUES (3, '张三', '女', 1990);
INSERT INTO student (id, name, sex, birth) VALUES (4, '李四', '男', 1990);
INSERT INTO student (id, name, sex, birth) VALUES (5, '王五', '女', 1991);
INSERT INTO student (id, name, sex, birth) VALUES (6, '王六', '男', 1988);
 向score表插入记录
INSERT INTO score (stu_id, c_id, grade) VALUES (1, '计算机', 98);
INSERT INTO score (stu_id, c_id, grade) VALUES (1, '英语', 80);
INSERT INTO score (stu_id, c_id, grade) VALUES (2, '计算机', 65);
INSERT INTO score (stu_id, c_id, grade) VALUES (2, '中文', 88);
INSERT INTO score (stu_id, c_id, grade) VALUES (3, '中文', 95);
INSERT INTO score (stu_id, c_id, grade) VALUES (3, '计算机', 70);

基础查询练习

1、查询所有学生的信息

SELECT * FROM student;

2、查询第2条到第4条学生记录

如何有效管理MySQL数据库入门试题?

SELECT * FROM student LIMIT 1, 3;

3、查询学生的学号、姓名和院系信息

SELECT id, name, department FROM student;

4、查询年龄在18到35岁之间的学生信息

SELECT * FROM student WHERE TIMESTAMPDIFF(YEAR, birth, CURDATE()) BETWEEN 18 AND 35;

5、查询每个院系的学生人数

SELECT department, COUNT(*) AS student_count FROM student GROUP BY department;

6、查询每个科目的最高分

SELECT c_id, MAX(grade) AS max_grade FROM score GROUP BY c_id;

进阶查询练习

1、查询姓“张”或者姓“王”的同学的姓名、院系和考试科目及成绩

SELECT name, department, c_id, grade FROM student JOIN score ON student.id = score.stu_id WHERE name LIKE '张%' OR name LIKE '王%';

2、查询都是湖南的学生的姓名、年龄、院系和考试科目及成绩

SELECT name, TIMESTAMPDIFF(YEAR, birth, CURDATE()) AS age, department, c_id, grade FROM student JOIN score ON student.id = score.stu_id WHERE address = '湖南省';

3、查询计算机成绩低于95分的学生信息

如何有效管理MySQL数据库入门试题?

SELECT * FROM student JOIN score ON student.id = score.stu_id WHERE c_id = '计算机' AND grade < 95;

4、查询同时参加计算机和英语考试的学生的信息

SELECT * FROM student WHERE id IN (SELECT stu_id FROM score WHERE c_id = '计算机') AND id IN (SELECT stu_id FROM score WHERE c_id = '英语');

5、将计算机考试成绩按从高到低进行排序

SELECT * FROM student JOIN score ON student.id = score.stu_id WHERE c_id = '计算机' ORDER BY grade DESC;

FAQs常见问题解答

1、如何删除一个数据库?

答案:使用DROP DATABASE 语句可以删除一个数据库,要删除名为mydb 的数据库,可以使用以下命令:

   DROP DATABASE mydb;

2、如何在MySQL中查看当前数据库中的所有表?

答案:使用SHOW TABLES 命令可以查看当前数据库中的所有表。

   SHOW TABLES;

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1222286.html

(0)
未希的头像未希新媒体运营
上一篇 2024-10-18 17:32
下一篇 2024-10-18

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

免费注册
电话联系

400-880-8834

产品咨询
产品咨询
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入