窗口函数是SQL中的高级操作,能够实现一般聚合函数无法完成的排序、生成序列号等功能。它们通过创建“窗口”概念,使查询更加灵活和强大。理解窗口函数的核心在于掌握PARTITION BY 和ORDER BY这两个关键字。窗口函数大体分为两类:一类是聚合函数,包括sum、avg、count、max、min等;另一类是专用窗口函数,如...
一、字符串类型1. CHAR(n) 和 VARCHAR(n)n的含义:在CHAR(n)和VARCHAR(n)中,n均表示该字段最大可容纳的字符数。需要注意的是,这里的字符数是指基于字符集(如UTF-8)的字符,而不是字节。占用空间:CHAR(n):固定长度,当存储的字符数少于n时,会使用空格填充至n个字符长度。因此,CHAR(n...
脏读可以读到其他事务中未提交的数据。不可重复读是读取到了其他事务已经提交的数据,但前后两次读取的结果不同。幻读(Phantom Read)定义:幻读名如其文,它就像发生了某种幻觉一样,在一个事务中明明没有查到主键为X的数据,但主键为X的数据就是插入不进去,就像某种幻觉一样。发生条件:事务隔离...
PostgreSQL:对象关系数据库,使用C语言编写。它支持非关系和关系数据类型,并提供了丰富的功能和扩展性。MySQL:关系数据库,主要使用C/C++编写。它以其快速、可靠和易于使用的特点而著称。二、特性与功能 存储过程与函数 PostgreSQL:支持高级过程和存储过程,允许用户创建复杂的自定义函数和逻辑。MySQL:支...
彻底搞懂三大MySQL日志:Redo Log、Undo Log、Bin LogRedo Log(重做日志)Redo Log的内容与作用 Redo Log记录的是物理日志,即磁盘数据页的修改。它的主要作用是保证服务崩溃后,仍能把事务中变更的数据持久化到磁盘上。MySQL事务中的持久性就是使用Redo Log实现的。什么时候写入Redo Log?Redo Log的...