mysql
文章平均质量分 88
无妄啊______
突破 体验
展开
-
sql语句牛客练习
之前把去重写成了 count(question_id) / distinct count(question_practice_detail.device_id),结果不对。看了窗口函数这个教程后写的,现在的问题在于没有去重。这条语句的结果是查出来所有学生的信息,然后该生所属学校的最低gpa表示其gpa。不太知道怎么分别显示出这俩分类的字段,也不太知道该怎么分别统计,所以看了一下题解。眼瞎了一下,又看了一下题目列表,发现这题的标签写的就是子查询🤣。样例的结果都不知道怎么来的,所以就看了题解。原创 2024-10-02 17:40:48 · 677 阅读 · 0 评论 -
mysql笔记10(高级部分--跟数据库管理有关)
双11之前,dba先把这个存储过程给写了,到指定时间后,一条命令调用存储过程,然后它就会默认执行之前设计过的所有sql,不需要再一点一点去写了,类似于函数调用。那万一过几天我们反悔了呢,难道还要再让阿里的账户数据减少,我们账户的数据增加么?万一哪天服务器崩了,数据到人家账户上了,卖家发货了,但是对面不承认,此时就可以rollback。由此可见,vw_stu这个视图就刻意隐藏了学生性别、年龄等信息,班长拿到的可能就是这个视图里的信息(不含身份证号、详细家庭住址等敏感信息),保护学生隐私。原创 2024-09-30 11:03:49 · 1095 阅读 · 2 评论 -
mysql笔记9(子查询)
简单来说就是:一条sql语句(A语句)的查询结果作为另一条sql语句(B语句)的查询条件,此时A语句就可以称为子查询语句。原创 2024-09-15 14:28:24 · 551 阅读 · 0 评论 -
mysql笔记8(多表查询)
select 字段名,字段名 from 主表 inner join 从表 inner join 从表 on 主表.公共字段=从表.公共字段=从表.公共字段。(上述score表里没有jerry的成绩(ta缺考了),所以联合查询的结果也没ta)以右边为基准,就算左边那张表里没有学号为12的学生信息,查询结果依然显示12号学生。以左边为基准,就算右边那张表里没有2号学生的信息,查询结果依然显示2号学生。② 两个查询语句,字段及其数据类型一不一样无所谓,但是字段个数必须一致。,根据同名字段连接两张表。原创 2024-09-13 21:52:24 · 1490 阅读 · 0 评论 -
mysql笔记7(单表查询)
就是mysql自带的一些主要用于做统计的函数,例如:sum avg(平均值)、max、min、count(统计次数)等。select 字段名,字段名 from 表名 limit 从哪个地方开始(默认从第1条数据开始),向下截取几条数据。直接的数据如果是字符串会按首字母范围筛选数据(字符串如果中英文结合好像会出问题)where 字段名 in + (‘要筛选出的数据’,‘要筛选出的数据’);limit 0, 2:从第1条数据开始,向下截取2条数据。limit 1,3:从第2条数据开始,向下截取3条数据。原创 2024-09-13 18:06:33 · 1074 阅读 · 0 评论 -
mysql笔记6(数据库设计思维)
例如:高考成绩有了各科成绩就可以直接确定总分,sql语句查的时候或者代码里写上各科成绩查出来以后直接相加然后返还给用户就可以了,没必要设计总分这个多余的字段。例如:stu这张表就是存储学生基本信息的,eatery这张表就是存储学生在餐厅的消费记录的。② 如果要收集某班学生的家庭住址,此时某个字段的值就可以填写成xx省xx市xx县xx,不需要继续划分该字段。实体与实体之间的关系(简单来说就是一条数据记录与一条数据记录之间的关系):一对一、一对多、多对多、多对一。以后看到的也是该表的结构状况(字段、数据)原创 2024-09-12 23:17:18 · 969 阅读 · 0 评论 -
mysql笔记5(列属性完整性)
业务逻辑约束(例如:订单的结束日期不能早于开始日期)、数据一致性约束(例如:某个字段的值只能从给出的几个选项里选择一个填写,跟枚举有些类似)、复杂验证(例如:当前消费额是否满足折扣规则)、触发器和存储过程(例如:这些触发器和存储过程可以在插入、更新或删除数据时自动检查数据的有效性)、数据完整性检查(例如:邮箱格式是否正确、数据是否合法等)学生表利用学号唯一标识某个学生的信息(例如:姓名、电话、住址、性别),食堂交易表也要利用学生的学号统计订单信息(例如:谁打了什么饭、花了多少钱)。原创 2024-09-12 20:27:39 · 1084 阅读 · 0 评论 -
mysql笔记4(数据类型)
数据库的数据类型应该是数据库架构师(DBA)和产品经理沟通后依据公司的项目、业务而定的,而且会不停地变化。数据类型的选择方面没有一个统一的标准,但是应该符合业务、项目的逻辑标准。原创 2024-09-08 23:37:12 · 826 阅读 · 0 评论 -
Mysql中为什么不能用varchar代替text存储长文本数据?
一个荒谬且可笑的事实是,写了那么多遍的头文件#,最近才知道std是standard(标准),i是input,o是output,.h就是.head,我之前竟然从来没有深究过,只是机械地记忆。的容量似乎相同,但由于存储方式、字符编码和数据库系统实现的差异,它们在实际应用中的表现可能会有所不同。来存储长文本数据,取决于数据的具体大小、表中其他列的数量和类型以及应用对性能的特定要求。类型通常是更合适的选择,这是因为它更适合处理超出行大小限制的数据,并且它的存储和检索方式更适合大型文本。原创 2023-12-02 00:21:43 · 1370 阅读 · 0 评论 -
mysql笔记3(数据库、表和数据的基础操作)
不能用关键字(如create、database等)作为数据库名、表名、表中的字段名。如果非要用,就得给它们加上反引号。后续创建和删除普通的数据库(不以关键字作为数据库名)时给数据库名加上反引号可以使代码看起来更高级。③ create database if not exists + 数据库名(数据库名写在反引号里);③ drop database if exists + 数据库名(数据库名写在反引号里);③ drop table if exists 表名(表名用反引号引起来);原创 2024-09-06 16:57:31 · 1459 阅读 · 0 评论 -
mysql笔记2(安装配置与连接)
我们此时mysql的客户端(我们这里的客户端说白了就是终端terminal – cmd、powershell、或者hyper-第三方软件)和服务端(Mysql Server mysql 服务端)都在本地。这个过程可以理解为:把辅导员看成一个仓库(数据库),仓库里有很多房间(表),现在我们想查看某房间的环境(某张表的信息),所以我们需要登录辅导员的电脑(借用管理员身份)。bin:存放一些二进制文件,可能是一些命令(一些可执行的.exe文件),例如:刚刚使用的mysql命令、服务启动命令等。原创 2024-09-05 09:43:31 · 906 阅读 · 0 评论 -
mysql笔记
需要利用共性的字段(学号)把数据串联起来,这样的话money表里检测到1001后可以先去查软工这张表,查到了就加200块,然后查mysql这张表,查到了就加100块。除此之外,对于经常改动的数据(例如:用户密码等),以文件的形式存储非常。关系型数据库的出现引入了表格存储数据的概念,使得数据的管理和查询更加灵活和高效。毫无疑问,两个文件都得改。万一只改了一边的数据,另一边忘了改,就会导致数据不完整,引发问题。CRUD只需要操作一个文件,很好地解决了层次模型关于重复数据的问题,确保了数据的完整性。原创 2024-09-04 20:44:48 · 963 阅读 · 0 评论