目录
一,数据库训练任务
1,任务概述
2,参考代码
2.1 建表及插入数据
2.2 检索
3,参考资料
MySQL数据库中int,bigint,smallint和tinyint区别
一,数据库训练任务
1,任务概述
新入职的程序员冯帅被公司安排去跟一个学生管理系统的项目,项目组长 安排他去主要负责数据库部分的所有操作,日常数据的维护和根据需求进行数 据查询。可冯帅之前并没有接触过数据库,那就抓紧时间学习一下数据库,把 组长安排的 sql 补充一下吧!
数据表:
- 年级表:年级 id(主键),年级名称
- 成绩表:id(主键),学员编号,科目 id,分数,考试时间
- 学生表:学生编号(主键),学生姓名,登录密码,性别,年级 id,电话, 地址,出生日期,email
- 科目表:科目 id(主键),科目名称,学时,年级 id
需求
- 1. grade 表增加一个阶段,“就业期”
- 2.将第三阶段的学生的 gradeid 改为就业期的 id
- 3.查询所有得了 100 分的学号
- 4.查询所有 1989 年出生的学生(1989-1-1~1990-1-1)
- 5.查询学生姓名为“金蝶”的全部信息
- 6.查询 subjectid 为 8 的科目考试未及格(60 分)的学号和成绩
- 7.查询第 3 阶段课时大于 50 的课程全部信息
- 8.查询 S1101001 学生的考试信息
- 9.查询所有第二阶段的女生信息
- 10.“基于.NET 平台的软件系统分层开发”需要多少课时
- 11.查询“设计 MySchool 数据库”和“面向对象程序设计”的课时(使用 in)
- 12 查询所有地址在山东的学生信息
- 13 查询所有姓凌的单名同学
- 14.查询 gradeid 为 1 的学生信息,按出生日期升序排序
- 15.查询 subjectid 为 3 的考试的成绩信息,用降序排序
- 16.查询 gradeid 为 2 的课程中课时最多的课程信息
- 17.查询北京的学生有多少个
- 18.查询有多少个科目学时小于 50
- 19.查询 gradeid 为 2 的阶段总课时是多少
- 20.查询 subjectid 为 8 的课程学生平均分
- 21.查询 gradeid 为 3 的课程中最多的学时和最少的学时
- 22.查询每个科目有多少人次考试
- 23.每个阶段课程的平均课时
- 24.查询每个阶段的男生和女生个数(group by 两列)
2,参考代码
主要难点在建表和插入数据的过程(╯‵□′)╯︵┻━┻
2.1 建表及插入数据
grade年级表
score成绩表
student学生表
course科目表
2.2 检索
1. grade 表增加一个阶段,“就业期”
2.将第三阶段的学生的 gradeid 改为就业期的 id
3.查询所有得了 100 分的学号
4.查询所有 1989 年出生的学生(1989-1-1~1990-1-1)
5.查询学生姓名为“金蝶”的全部信息
6.查询 subjectid 为 8 的科目考试未及格(60 分)的学号和成绩
7.查询第 3 阶段课时大于 50 的课程全部信息
8.查询 S1101001 学生的考试信息
9.查询所有第二阶段的女生信息
10.“基于.NET 平台的软件系统分层开发”需要多少课时
11.查询“设计 MySchool 数据库”和“面向对象程序设计”的课时(使用 in)
12 查询所有地址在山东的学生信息
13 查询所有姓凌的单名同学
通配符下划线表示匹配任意单个字符。
14.查询 gradeid 为 1 的学生信息,按出生日期升序排序
15.查询 subjectid 为 3 的考试的成绩信息,用降序排序
16.查询 gradeid 为 2 的课程中课时最多的课程信息
17.查询北京的学生有多少个
18.查询有多少个科目学时小于 50
19.查询 gradeid 为 2 的阶段总课时是多少
20.查询 subjectid 为 8 的课程学生平均分
21.查询 gradeid 为 3 的课程中最多的学时和最少的学时
22.查询每个科目有多少人次考试
23.每个阶段课程的平均课时
24.查询每个阶段的男生和女生个数(group by 两列)
3,参考资料
MySQL数据库中int,bigint,smallint和tinyint区别
参考@虚镜【MySQL数据库中int,bigint,smallint和tinyint区别】
bigint
- 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。
- P.S. bigint已经有长度了,在mysql建表中的length,只是用于显示的位数
int
- 从 -2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。
smallint
- 从 -2^15 (-32,768) 到 2^15 – 1 (32,767) 的整型数据。存储大小为 2 个字节。
tinyint
- 从 0 到 255 的整型数据。存储大小为 1 字节。
注释
- 在支持整数值的地方支持 bigint 数据类型。但是,bigint 用于某些特殊的情况,当整数值超过 int 数据类型支持的范围时,就可以采用 bigint。在 SQL Server 中,int 数据类型是主要的整数数据类型。
- 在数据类型优先次序表中,bigint 位于 smallmoney 和 int 之间。
- 只有当参数表达式是 bigint 数据类型时,函数才返回 bigint。SQL Server 不会自动将其它整数数据类型(tinyint、smallint 和 int)提升为 bigint。
- int(M) 在 integer 数据类型中,M 表示最大显示宽度。在 int(M) 中,M 的值跟 int(M) 所占多少存储空间并无任何关系。和数字位数也无关系 int(3)、int(4)、int(8) 在磁盘上都是占用 4 btyes 的存储空间。
章节汇总在这里(づ ̄3 ̄)づ╭❤~@&再见萤火虫&【05-数据库】
对学习Java感兴趣的同学欢迎加入QQ学习交流群:1126298731
有问题欢迎提问,大家一起在学习Java的路上打怪升级!(o゜▽゜)o☆[BINGO!]