MySQL机试指南:创建与查询数据库
需积分: 13 54 浏览量
更新于2024-08-05
收藏 18KB DOCX 举报
"该文档是针对初学者的MySQL上机考试题目,主要涉及数据库创建、表结构设计、数据查询等内容。考试要求在120分钟内完成,总分为100分,需提交SQL脚本文件,不能提交数据库文件。考试涉及到的表有两个,分别是ClassInfo(班级表)和StudentInfo(学生信息表)。"
以下是根据给定信息总结的MySQL相关知识点:
1. 创建数据库:
使用`CREATE DATABASE`语句创建名为SchoolDB的数据库。例如:
```sql
CREATE DATABASE SchoolDB;
```
2. 创建数据表:
- 对于ClassInfo表,可以这样创建:
```sql
CREATE TABLE ClassInfo (
ClassId INT PRIMARY KEY,
ClassName CHAR(20) UNIQUE
);
```
- 对于StudentInfo表,其创建语句可能如下:
```sql
CREATE TABLE StudentInfo (
StudentId INT PRIMARY KEY,
ClassId INT,
StudentNo VARCHAR(6) CHECK (LENGTH(StudentNo) = 6) UNIQUE,
StudentName VARCHAR(20),
StudentAge INT CHECK (StudentAge BETWEEN 16 AND 30),
StudentGender CHAR(1) DEFAULT '1' CHECK (StudentGender IN ('0', '1')),
StudentAddress VARCHAR(30) DEFAULT '重庆',
StudentBirthday DATE
);
```
注意外键ClassId需要引用ClassInfo表的ClassId,因此还需添加外键约束:
```sql
ALTER TABLE StudentInfo
ADD CONSTRAINT fk_classinfo_studentinfo FOREIGN KEY (ClassId) REFERENCES ClassInfo(ClassId);
```
3. 数据查询:
- 查询某学生的所有信息(包括班级):
```sql
SELECT * FROM StudentInfo s JOIN ClassInfo c ON s.ClassId = c.ClassId WHERE s.StudentId = [指定的学生ID];
```
- 查询学生信息表所有年满18岁的女同学:
```sql
SELECT * FROM StudentInfo WHERE StudentAge >= 18 AND StudentGender = '0';
```
- 查询住址非重庆地区的同学:
```sql
SELECT * FROM StudentInfo WHERE StudentAddress != '重庆';
```
- 查询年龄最小和最大的同学信息:
```sql
SELECT * FROM StudentInfo ORDER BY StudentAge ASC LIMIT 1; -- 最小年龄
SELECT * FROM StudentInfo ORDER BY StudentAge DESC LIMIT 1; -- 最大年龄
```
4. 数据插入:
插入测试数据需要根据具体字段和表结构进行,确保满足所有的约束条件,例如:
```sql
INSERT INTO ClassInfo (ClassId, ClassName) VALUES (1, '一年级');
INSERT INTO StudentInfo (StudentId, ClassId, StudentNo, StudentName, StudentAge, StudentGender, StudentAddress, StudentBirthday)
VALUES (1, 1, 'S00001', '张三', 19, '0', '北京', '2002-01-01');
```
依次为每个表插入至少5条数据。
5. 评分标准:
每个任务都有相应的分数,确保脚本逻辑清晰、书写工整且包含注释,以便评审。
6. 注意事项:
- 提交的文件应为`.sql`格式,包含所有创建表、插入数据和执行查询的脚本。
- 脚本应遵循SQL标准语法,并确保符合题目要求的所有约束。
在实际操作时,考生需根据题目要求和所给的字段说明,编写完整的SQL语句,确保所有任务都得到解决,并且在编写脚本时加入适当的注释,提高代码可读性。
2021-11-11 上传
2022-11-20 上传
2024-05-17 上传
2021-08-30 上传
点击了解资源详情
2024-12-25 上传
butterfly_onfly
- 粉丝: 353
- 资源: 53
最新资源
- SST39LF160.pdf
- 微软技术面试-中国象棋将帅问题
- 微软技术面试-寻找最大的K个数
- 练成Linux系统高手教程
- xp下安装红旗linux
- 餐饮企业如何实施JIT生产方式
- 工作流管理:模型、方法和系统
- UML经典讲座 UML知识 UMl建模
- 精通CSS+DIV网页样式与布局PPT
- Java常见问题----
- UbuntuManual.pdf
- ORACLE应用常见傻瓜问题1000问
- 00B-JavaInANutshell
- ibatis %20 Guide
- 个人网站的研究与设计
- Pragmatic Programmers--Pragmatic Unit Testing In Java with Junit.pdf