- 博客(6)
- 收藏
- 关注
原创 2.2 创建表格
在企业级开发中,往往会使用BIGINT作为主键,因为我们知道INT的值域只有2147483647这么大,也就是20亿多,有些公司用户数达到百万甚至干万,那么记录用户行为的数据,比如说支付宝账单,就很轻松会突破INT的值域,因此使用BIGINT会避免数据溢出的问题。一般来说字段的长度足够用就可以,同时要注意值域,比如INT的最大值为 2147483647,长度为 10 位,所以上面的语句中,id最大只能这么大,如果超过这个数,我们可以使用 BIGINT。,所以大家在删除表格时,务必慎重。
2024-09-20 01:06:49
1601
原创 2.1 表格的结构
每一张数据库表都可以有一个主键(primary key),主键最大的作用就是用来标识数据,数据就像我们人,名字可能会重复,生日可能会一样,但是身份证号是肯定每个人都不一样的,身份证号就是社会体系辨别我们每个人谁是谁的主键。我们通常把表格中的一行称为一条数据,大家都学习过HashMap,想必对key-value这种键-值对的储存形式并不陌生,数据库的一条数据就像是value,而主键就像是它的key,我们通过主键来快速查找数据,也可以通过其他字段来操作数据。主键的值不能为 NULL,必须有对应的值。
2024-09-19 23:22:31
1265
原创 1.3 为什么选择MySQL
如果说 Oracle 是行业里的高富帅,那么 SQL Server 就是依托于微软爸爸的富二代,由于带有 Microsoft 家族的标签,SQLServer 成为在 windows 平台下进行数据库应用开发较为理想的选择之一,SQL Server 在 win 平台下拥有巨大的优势,即使用最方便、开发最方便、运维最方便。齐全的功能同时也导致安装的不方便、维护的困难,因此企业要么选择高薪的维护人员,要么忍受动辄 5位数的官方维护费用。而且支持事务的操作,保证数据的一致性,可以通过 SQL 语句完成复杂的操作。
2024-09-19 22:35:42
1152
原创 5.3 内连接
【在实际的应用场景中,一张表格不会太复杂,并且会根据字段的不同拆分成多张表,比如说学生成绩表中,有些信息是会变得比如考试会有很多次,每次的成绩可能不同,而有些信息是基本不变的,比如学生姓名和学生的班级,所以我们会设计学生表和成绩表,然后关联查询得到具体某一场的考试成绩。之前我们学习了左连接和右连接,在实际的应用中,左右连接不能满足所有的查询需要,比如我们想查询第二节中选课了的学生信息,这个时候我们就需要使用内连接。我们可以看到,表格A中,学生id为1,2的同学参与了B考试,和查询结果符合。
2024-09-18 22:57:11
299
原创 5.2右连接
在实际应用中,我们有时候会对三张表以上进行关联查询,在这种情况下,我们往往会选中一张表作为主表,以它为基准,进行LEFTJOIN 或 RIGHT JOIN 查询。我们可以看到查询的结果因为左连接或者右连接不一致,当左连接时,会返回左表的所有数据,当右连接时会返回右表的所有数据。ABC多表查询的本质是A先和B关联查询,然后再和C进行关联查询更多表格的场景中,原理也是一致的。[我们可以看到,因为每一个id都有匹配的数据,所以右连接查询得到的数据和左连接是一样的。我们来看一下右连接的语法。
2024-09-17 21:56:14
386
原创 5.1 左连接
但是这样设计的表格比较冗余,一般来说我们设计的表格功能是单一的,比如学生表就是学生表,老师表就是老师表,不会去设计这样包含多个几余字段的复杂表格。在实际的应用中,学生表之外还有班级表和年级表,大学还会有专业表,这里为了简化,我们假设的场景是门派式的,一个长老(老师)负责教一门课,学生之间都是内门弟子,没有多余的概念(其实是为了偷懒哈哈)。经过前面的课程的磨练,大家应该会想到创建学生、老师、课程三个类,而不是去创建课程这个类,含有老师、学生等一系列的属性。冗余的坏处是难以保证数据的一致性,维护困难。
2024-09-17 21:18:48
416
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人