5.什么是数据库中的记录? 记录(也称为数据行)是表中相关数据的有序集合。 6.什么是表中的列? 列是表中的垂直实体,包含与表中特定细分关联的所有信息。 7.什么是DBMS?...临时表是用于临时存储数据的临时存储结构。 30.如何避免查询中重复记录? SQL SELECT DISTINCT查询仅用于返回唯一值。它消除了所有重复的值。...一个PRIMARY KEY 约束唯一标识数据库表中的记录。 参与主键约束的所有列均不得包含NULL值。 40.一个表可以包含多个PRIMARY KEY吗?...用字段NULL值是没有值的字段。甲NULL值是从零值或包含空格的字段不同。 具有NULL值的字段是在记录创建过程中留为空白的字段。...SQL中的聚合函数是什么? SQL聚合函数返回单个值,该值是根据列中的值计算得出的。
COUNT(*)不接受表达式参数,也不使用任何特定列的信息。 COUNT(*)返回指定表或视图中的行数,但不消除重复项。 它分别计数每一行,包括包含NULL值的行。...COUNT(表达式)不计算NULL值。 它可以选择计数或不计数重复的字段值。 COUNT总是返回数据类型BIGINT, xDBC长度为8,精度为19,刻度为0。...COUNT(*)以整数形式返回表中行数的计数。 COUNT(*)计数所有行,无论是否存在重复的字段值或NULL值。 COUNT可以在引用表或视图的SELECT查询或子查询中使用。...与所有聚合函数一样,COUNT(expression)可以接受一个可选的DISTINCT子句。 DISTINCT子句只计算那些具有不同(唯一)值的列。...ALL关键字统计所有非null值,包括所有重复值。 如果没有指定关键字,ALL是默认行为。
InnoDB 存储引擎和数据列 建议使用 VARCHAR类型 对于InnoDB数据表,内部的行存储格式没有区分固定长度和可变长度列(所有数据行 都使用指向数据列值的头指针) ,因此在本质上,使用固定长度的....而B+树的查询效率比较稳定,对于所有的查询都是从根节点到叶子节点,且树的高度较低....等于说非主键索引需要多走一个索引树。 33.如何避免回表? 索引覆盖被查询的字段。 34.索引覆盖是什么? 如果一个索引包含(或覆盖)所有需要查询的字段的值,称为‘覆盖索引’。 35.视图的优缺点?...这可能是除了system和const之外最好的类型。当主键或唯一非NULL索引的所有字段都被用作join联接时会使用此类型。 eq_ref可用于使用’='操作符作比较的索引列。...适用于非唯一索引,可以返回重复值。
包含通过前一个完成的日历季度发放的所有贷款的完整贷款数据。 查看数据集中行与列数量。 dataset.shape 可见数据集共有90112行,145列。...2.3 简易填补缺失值 删除掉含有较多缺失值的列后,需要填补剩余的包含缺失值的列。使用fillna()函数填补缺失值,该函数能自动定位到所有缺失值所在的位置,并将其补齐。...首先创建一个字典用于存储填补缺失值所需要传入的字典。 因之前已经计算完毕了填补各列所需的值,此处就直接使用计算得到的值即可。...,对所有缺失值均使用缺失值所在的后一个非缺失值的值来进行填补。...False时代表去除所有重复的数据,inplace代表是否替换原DataFrame。
文章目录 T-SQL基础技术 基本语法格式 代码准备:(可以按照我的实例自行建立数据库) 1、投影查询 a、投影指定的列 b、投影全部列 c、修改查询结果的列标题 d、去掉重复行 2、选择查询 a.表达式比较...T-SQL语言中最重要的部分是它的查询功能,查询语言用来对已经存在于数据库中的数据按 照特定的行、列、条件表达式或者一定次序进行检索。...) 1、投影查询 a、投影指定的列 b、投影全部列 c、修改查询结果的列标题 d、去掉重复行 此部分比较简单,直接上代码 -- 打开数据库 use sixstardb go -- 1、【投影查询数据...d.空值使用 空值是未知的值,判定一个表达式的值是否为空值时,使用IS NULL关键字,语法格式如下: expression IS [ NOT ] NULL 代码示例: -- 2、【选择查询】 --...外连接的结果表不但包含满足连接条件的行,还包括相应表中的所有行。
6) 伪列,即不存在的列,构建虚拟的列 select empno, 1*2 as count,‘cmj’ as name,deptno from emp; 7)虚表,及不存在的表,可以计算 select...=和都表示不等于 3.2 且或非 and、 or、 not select * from emp where sal>=1500 and sal<=3000; 查询员工工资大于1500并且小于3000...; Union All,全集(不去重) 对两个结果集进行并集操 作,包括重复行,不进行排序 ; Intersect,交集(找出重复) 对两个结果集进行交集操 作,不包括重复行,同时进行默认规则的排序...; Minus,差集(减去重复) 对两个结果集进行差操作,不 包括重复行,同时进行默认规则的排序 –查询工资大于1500 或 含有佣金的人员姓名 –union 去除重复行 select ename..._的员工名称 岗位 工资 部门编 号 3.6. in 与 exists in相当于使用or的多个等值,定值集合 ,如果存在 子查 询,确保 类型相同、字段数为1,如果记录多,效率不 高,用于 一些
运算符IS NULL可以判断列的值是否是NULL。...:MAX([DISTINCT or ALL] 列名称) ——求最小值函数:MIN([DISTINCT or ALL] 列名称) 其中,DISTINCT短语控制在计算时取消指定列中的重复值,即只处理唯一值...;而ALL则控制计算时不取消指定列中的重复值,默认为ALL;下面以一系列的例子来演示各聚合函数: /* 计算表中菜系这一列不去重的情况下元素个数 */ USE practice GO SELECT COUNT...默认情况下,UNION运算符将从结果中删掉重复的行,但可以通过使用UNION ALL运算符保留所有的行。...,所以table1中的非自助餐店铺的名称也会显示出来,但因为不匹配连接条件,所以对应的table2中列的属性为NULL /* 使用右外连接的方式查询在table1和table2中菜系均为自助餐的记录
(4)关于OVER子句:为行定义一个窗口以便进行特定的运算 OVER子句的优点在于能够在返回基本列的同时,在同一行对它们进行聚合;也可以在表达式中混合使用基本列和聚合值列。 ...例如,下面的查询为OrderValues的每一行计算当前价格占总价格的百分比,以及当前价格占客户总价格的百分比 。...非NULL值得表达式返回值为0,因此,它们会排在NULL值(表达式返回1)的前面。如上所示的将CASE表达式作为第一个拍序列,并把region列指定为第二个拍序列。...这是因为对于所有的外部行,因为它们在o.orderdate列上的取值都为NULL,所以WHERE子句中条件o.orderdate='20070212'的计算结果为UNKNOWN,因此WHERE子句会过滤掉所有的外部行...(TRUE和FALSE),它只关心是否存在匹配行,而不考虑SELECT列表中指定的列,并且无须处理所有满足条件的行。
原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。 一致性是指一个事务执行之前和执行之后都必须处于一致性状态。...YES Expression: NULL 哈希索引 哈希索引是基于哈希表实现的,对于每一行数据,存储引擎会对索引列进行哈希计算得到哈希码,并且哈希算法要尽量保证不同的列值计算出的哈希码值是不同的...1、主键索引:名为primary的唯一非空索引,不允许有空值。 2、唯一索引:索引列中的值必须是唯一的,但是允许为空值。唯一索引和主键索引的区别是:唯一约束的列可以为null且可以存在多个null值。...不是所有类型的索引都可以成为覆盖索引。覆盖索引要存储索引列的值,而哈希索引、全文索引不存储索引列的值,所以MySQL使用b+树索引做覆盖索引。...不支持部分索引匹配查找,因为哈希索引是使用索引列的全部内容来计算哈希值的。 只支持等值比较,不支持范围查询。
非聚簇索引: 非聚簇索引就是以非主键创建的索引,在叶子节点存储的是表主键和索引列。 InnoDB 引擎 逻辑维度 主键索引: 主键索引是一种特殊的唯一索引,不允许值重复或者值为空。...普通索引: 普通索引是 MySQL 中最基本的索引类型,允许在定义索引的列中插入重复值和空值。...哈希索引: 工作原理:通过哈希算法将被索引的列的值存储到一个固定长度的桶(Bucket)。使得在查询特定值的时候非常高效,因为可以直接计算出存储位置,快速定位到数据。...索引列包含 NULL 值:如果索引列包含 NULL 值,MySQL可 能不会使用索引,因为 NULL 值的比较有特殊性。因为NULL值无法与其他值进行比较或匹配,所以无法使用索引。 9....位图索引是一种将数据列的所有可能值映射到二进制位上的索引。每个位表示某个值是否存在于该列中,从而帮助我们快速定位符合某个条件的行。
示例 计算表中所有行的数量: SELECT COUNT(*) AS total_rows FROM orders; 计算特定条件下的行数: SELECT COUNT(*) AS active_users...FROM employees; 特殊情况 使用 COUNT(*) 计算所有行的数量,包括包含 NULL 值的行: SELECT COUNT(*) AS total_rows FROM your_table_name...注意事项 CUBE 生成的结果包含原始列的所有可能组合,形成一个多维的汇总。 CUBE 是 SQL 中用于实现多维聚合的强大工具,通过一次查询生成所有可能的组合,形成一个多维的汇总。...可以使用 PARTITION BY 指定分区,排名将在每个分区内独立计算。 DENSE_RANK() 是用于为查询结果中的行分配密集排名的窗口函数,适用于需要连续排名的情况,不跳过重复排名。...它们可以返回第一个非 NULL 表达式的值。 聚合函数和 NULL 值 COUNT 函数: COUNT(column_name) 不会统计包含 NULL 值的行。
非聚集索引在查询的时候可以的话就避免二次查询,这样性能会大幅提升。 不是所有的表都适合建立索引,只有数据量大表才适合建立索引,且建立在选择性高的列上面性能会更好。...生效规则 多列索引发挥作用,需要满足左前缀要求 只要包含第一个条件,索引都生效,跟顺序无关 以index(a,b,c)为例 语句 索引是否发挥作用 where a=3 是 where a=3 and...key_len 用于处理查询的索引长度,如果是单列索引,那就整个索引长度算进去,如果是多列索引,那么查询不一定都能使用到所有的列,具体使用到了多少个列的索引,这里就会计算进去,没有使用到的列,这里不会计算进去...值 含义 system 表中只有一行数据或者是空表,且只能用于myisam和memory表。...其他数据库也叫做唯一索引扫描 eq_ref 出现在要连接过个表的查询计划中,驱动表只返回一行数据,且这行数据是第二个表的主键或者唯一索引,且必须为not null,唯一索引和主键是多列时,只有所有的列都用作比较时才会出现
SQL 存在一种很特殊的值类型 NULL,如果 COUNT 指定了具体列,则统计时会跳过此列值为 NULL 的行,而 COUNT(*) 由于未指定具体列,所以就算包含了 NULL,甚至某一行所有列都为...NULL,也都会包含进来。...SELECT AVG(cost) FROM test AVG 遇到 NULL 值时采用了最彻底的忽略方式,即 NULL 完全不参与分子与分母的计算,就像这一行数据不存在一样。...将某个字段的所有可枚举的情况都查了出来,并整合成一张表,每一行代表了一种枚举情况,不需要分解为一个个 WHERE 查询了。...GROUP BY a,b,c 查询结果第一列可能看到许多重复的 a 行,第二列看到重复 b 行,但在同一个 a 值内不会重复,c 在 b 行中同理。
约束可以应用于表的列级别或表级别。以下是一些常见的约束类型:1、主键约束(Primary Key Constraint)主键用于唯一标识表中的每一行。主键列的值不能包含重复项,并且不允许为空。...在数据库设计中,将字段定义为 NOT NULL 是为了确保数据库中的数据完整性和质量。NOT NULL 约束表示该字段在插入数据时必须包含非空值。...2、避免错误值强制字段为 NOT NULL 可以避免在该字段中插入无效或错误的值,确保数据的准确性和一致性。 3、避免计算错误在进行计算和聚合操作时,如果涉及到 NULL 值,可能导致计算结果不准确。...3、数据分布不均匀如果数据分布不均匀,某些值的重复度较高,那么对这些重复值建立索引可能不会显著提高查询性能。此时需要根据实际情况权衡是否建立索引。...-- 在 SQL 中,可以使用 IS NULL 或 IS NOT NULL 条件来测试某一列是否包含 NULL 值。
这种类型的检索例子有: 确定表中行数(或者满足某个条件或包含某个特定值的行数); 获得表中某些行的和; 找出表列(或所有行或某些特定的行)的最大值、最小值、平均值。...为了获得多个列的平均值,必须使用多个AVG()函数。 AVG()函数忽略列值为 NULL 的行。...在用于文本数据时,MAX()返回按该列排序后的最后一行。MAX()函数忽略列值为 NULL 的行。...在用于文本数据时,MIN()返回该列排序后最前面的行。MIN()函数忽略列值为 NULL 的行。...提示:在多个列上进行计算 利用标准的算术操作符,所有聚集函数都可用来执行多个列上的计算。SUM()函数忽略列值为 NULL 的行。
如果计算代码包含编程错误(例如,除以零),则插入操作将失败,并显示SQLCODE-415错误。 默认值子句 可以将行插入到其所有字段值都设置为默认值的表中。定义了默认值的字段将设置为该值。...未定义默认值的字段设置为NULL。...可以使用此语句插入使用UNIQUE约束定义的字段。如果字段定义了唯一约束且没有默认值,则重复调用会插入多行,并将此唯一字段设置为NULL。如果使用唯一约束和默认值定义字段,则此语句只能使用一次。...可以使用包含所有字段名(不包括RowID)的列表的INSERT SELECT将数据复制到重复表中。 但是,如果Source有一个外键public RowID,则不会为目标表保留外键关系。...定义这些表的持久化类是否为Final对将数据复制到复制表中没有任何影响。 此操作可用于将现有数据复制到重新定义的表中,该表将接受在原始表中无效的未来列数据值。
、15、82.5)这个数据组进行压缩,问题是该组中数据格式并不一致且占用内存空间大小不同,也就没法进行特定的压缩手段; 列式存储则不同,它的存储单元是某一列数据,比如(张三、李四)或者(15,16),那么就可以针对某一列进行特定的压缩...,因此需要遍历所有数据并对比其年龄数据,确定是否返回姓名、年龄; 列式存储: 过滤中使用了年龄,因此把年龄列取出来进行判断,判断结果是李四满足要求; 按照上述判断结果把姓名列取出来,取出其中对应位置的姓名数据...,那么如果删除的恰恰是最大最小值,就还需要从现有数据中遍历查找最大最小值来,这就需要遍历所有数据; 列式存储:插入有统计信息的对应列时才需要进行比较,此处如果是插入姓名列,那就没有比较的必要,只有年龄列会进行此操作...,定义等级的计算公式如下:当前树深度 - 路径上类型为required的个数 - 1(如果自身为null); Repetition level 重复等级 针对repeated类型field,如果一个field...、重复等级和定义等级以及对应的数据值; 右边: Footer中包含重要的元数据; 文件元数据包含版本、架构、额外的k/v对等; Row group元数据包括其下属各个Column的元数据; Column
1、建立逻辑数据模型为第一阶段,包括对应用程序需要处理和存储的信息进行建模,并确保所有必要的数据都能够正确、完整且无歧义地表示。...对关系数据库来讲,物理数据模型描述的是表、索引、视图、键和其他一些数据库特性。 3、第三范式: 实体(表)的所有数据完全依赖于主键。 不能有重复的属性(列)或属性组。...位图索引和(部分列为NULL的)多列组合索引就能存储NULL值。 采用NULL可以降低行的平均长度,从而一定程度上提高全表扫描的性能。...如果该列的数值大部分是NULL,并且查询仅需检索非NULL的值,则该列上的索引会比较紧凑并很高效。 因此,决定一列是否可以为NULL的时候,要考虑在该列上是否有使用B*树索引查询NULL的需求。...因为Oracle必须顺序扫描行结构以获得某个特定的列的位置,基于这个原因,将经常需要访问的列存储在表的前面,会带来一些正面的性能影响。
DataFrame.dropna(axis=0, how='any', thresh=None, subset=None,inplace=False) axis:表示是否删除包含缺失值的行或列。...how:表示删除缺失值的方式。 thresh:表示保留至少有N个非NaN值的行或列。 subset:表示删除指定列的缺失值。 inplace:表示是否操作原数据。...查看包含的空缺值 # 使用isna()方法检测na_df中是否存在缺失值 na_df.isna() 输出为: 计算每列缺失值的总和: # 计算每列缺失值的总和 na_df.isnull...: # 删除缺失值 -- 将缺失值出现的行全部删掉 na_df.dropna() 输出为: 保留至少有3个非NaN值的行: # 保留至少有3个非NaN值的行 na_df = pd.DataFrame...–将全部重复值所在的行筛选出来: # 查找重复值 # 将全部重复值所在的行筛选出来 df[df.duplicated()] 输出为: 查找重复值|指定列 : # 查找重复值|指定 # 上面是所有列完全重复的情况
领取专属 10元无门槛券
手把手带您无忧上云