MySQL上机题测试你的数据库技能(mysql 上机题)
MySQL上机题:测试你的数据库技能!
MySQL是一款开源的关系型数据库管理系统,具有高性能、易用性和可扩展性等优点。在进行MySQL编程时,需要掌握相应的SQL语言和数据库设计知识,才能编写出高效、安全和可靠的代码。为了帮助大家测试和提升MySQL数据库技能,本文整理了一些MySQL上机题,供大家参考。
一、数据库设计
问题1:设计一张关于学生信息的数据库表,包含姓名、性别、年龄、电话、地址等字段,并考虑适当的数据类型和约束。
解答:可以使用以下SQL语句创建学生信息表:
CREATE TABLE student (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
sex ENUM(‘男’,’女’) DEFAULT ‘男’,
age TINYINT UNSIGNED NOT NULL,
phone VARCHAR(11) NOT NULL UNIQUE,
address VARCHAR(100) NOT NULL
);
在该表中,id为主键,自增长,name、age、phone和address字段均为NOT NULL,其中sex字段使用ENUM类型设置可选值,phone字段设为UNIQUE,以确保电话号码的唯一性。
问题2:为学生信息表添加一个课程成绩字段,用于记录学生的数学、语文和英语成绩。
解答:可以使用以下SQL语句修改学生信息表:
ALTER TABLE student
ADD COLUMN math DECIMAL(5,2),
ADD COLUMN chinese DECIMAL(5,2),
ADD COLUMN english DECIMAL(5,2);
在该表中,三个成绩字段的数据类型均为DECIMAL(5,2),表示最大值为999.99,保留两个小数位。
二、SQL基础
问题1:查询学生信息表中年龄大于20的学生记录,并按照年龄从小到大排序。
解答:可以使用以下SQL语句查询:
SELECT * FROM student
WHERE age > 20
ORDER BY age ASC;
在该语句中,使用WHERE子句过滤出年龄大于20的学生记录,使用ORDER BY子句按照年龄升序排列记录。
问题2:查询数学成绩最高的学生记录,并显示其姓名和数学成绩。
解答:可以使用以下SQL语句查询:
SELECT name, math FROM student
ORDER BY math DESC
LIMIT 1;
在该语句中,使用ORDER BY子句按照数学成绩降序排列记录,使用LIMIT子句限制只显示一条记录,并选择只显示姓名和数学成绩两个字段。
三、数据操作
问题1:向学生信息表中插入一个新的学生记录,包含姓名为“李明”,年龄为25岁,电话为“13612345678”,地址为“广东省广州市天河区”。
解答:可以使用以下SQL语句插入记录:
INSERT INTO student(name, age, phone, address)
VALUES(‘李明’, 25, ‘13612345678’, ‘广东省广州市天河区’);
在该语句中,使用VALUES子句指定所插入记录的字段及其对应的值。
问题2:更新学生信息表中“李明”的电话为“13912345678”。
解答:可以使用以下SQL语句更新记录:
UPDATE student
SET phone = ‘13912345678’
WHERE name = ‘李明’;
在该语句中,使用SET子句指定要更新的字段及其新值,使用WHERE子句限制只更新姓名为“李明”的记录。
综上所述,MySQL是一个功能强大、灵活可靠的开源数据库管理系统。熟练掌握MySQL的SQL语言和数据库设计知识,能够更好地完成复杂的数据处理任务。希望以上 MySQL上机题 能够帮助大家拓展MySQL数据库技能,提升编程水平。