DISTINCT 用于返回唯一不同的值。它作用于所有列,也就是说所有列的值都相同才算相同。 LIMIT 限制返回的行数。可以有两个参数,第一个参数为起始行,从 0 开始;第二个参数为返回的总行数。...= orders.cust_id; 组合(UNION) UNION 运算符将两个或更多查询的结果组合起来,并生成一个结果集,其中包含来自 UNION 中参与查询的提取行。...BEGIN 和 END 当触发器的触发条件满足时,将会执行 BEGIN 和 END 之间的触发器执行动作。...注意:在 MySQL 中,分号 ; 是语句结束的标识符,遇到分号表示该段语句已经结束,MySQL 可以开始执行了。...在这之后的语句,以分号结束,解释器不会有什么反应,只有遇到了 NEW 和 OLD MySQL 中定义了 NEW 和 OLD 关键字,用来表示触发器的所在表中,触发了触发器的那一行数据。
处理 SQL 语句时,所有空格都被忽略。SQL 语句可以写成一行,也可以分写为多行。...DISTINCT 用于返回唯一不同的值。它作用于所有列,也就是说所有列的值都相同才算相同。 LIMIT 限制返回的行数。可以有两个参数,第一个参数为起始行,从 0 开始;第二个参数为返回的总行数。...orders.cust_id; 组合(UNION) 要点 UNION 运算符将两个或更多查询的结果组合起来,并生成一个结果集,其中包含来自 UNION 中参与查询的提取行。...BEGIN 和 END 当触发器的触发条件满足时,将会执行 BEGIN 和 END 之间的触发器执行动作。...注意:在 MySQL 中,分号 ; 是语句结束的标识符,遇到分号表示该段语句已经结束,MySQL 可以开始执行了。
DISTINCT 用于返回唯一不同的值。它作用于所有列,也就是说所有列的值都相同才算相同。 LIMIT 限制返回的行数。可以有两个参数,第一个参数为起始行,从 0 开始;第二个参数为返回的总行数。...= orders.cust_id; 组合(UNION) UNION 运算符将两个或更多查询的结果组合起来,并生成一个结果集,其中包含来自 UNION 中参与查询的提取行。...BEGIN 和 END 当触发器的触发条件满足时,将会执行 BEGIN 和 END 之间的触发器执行动作。 ?...注意:在 MySQL 中,分号 ; 是语句结束的标识符,遇到分号表示该段语句已经结束,MySQL 可以开始执行了。...在这之后的语句,以分号结束,解释器不会有什么反应,只有遇到了 NEW 和 OLD MySQL 中定义了 NEW 和 OLD 关键字,用来表示触发器的所在表中,触发了触发器的那一行数据。
DISTINCT 用于返回唯一不同的值。它作用于所有列,也就是说所有列的值都相同才算相同。 LIMIT 限制返回的行数。可以有两个参数,第一个参数为起始行,从 0 开始;第二个参数为返回的总行数。...orders.cust_id; 组合(UNION) UNION 运算符将两个或更多查询的结果组合起来,并生成一个结果集,其中包含来自 UNION 中参与查询的提取行。...BEGIN 和 END 当触发器的触发条件满足时,将会执行 BEGIN 和 END 之间的触发器执行动作。 ?...注意:在 MySQL 中,分号 ; 是语句结束的标识符,遇到分号表示该段语句已经结束,MySQL 可以开始执行了。...在这之后的语句,以分号结束,解释器不会有什么反应,只有遇到了 NEW 和 OLD MySQL 中定义了 NEW 和 OLD 关键字,用来表示触发器的所在表中,触发了触发器的那一行数据。
唯一索引 与普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值(注意和主键不同)。如果是组合索引,则列值的组合必须唯一,创建方法和普通索引类似。...由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。 ...例如,如果应用程序执行的一个查询经常检索某一日期范围内的记录,则使用聚集索引可以迅速找到包含开始日期的行,然后检索表中所有相邻的行,直到到达结束日期。这样有助于提高此 类查询的性能。...同样,如果对从表中检索的数据进行排序时经常要用到某一列,则可以将该表在该列上聚集(物理排序),避免每次查询该列时都进行排序,从而节 省成本。 ...当索引值唯一时,使用聚集索引查找特定的行也很有效率。
ROWS 或者 RANGE子句可以决定在分区内部的行数的子集。当使用ROWS 和 RANGE的时候,可以指定窗口函数的开始和结束点 ,如下图所示: ?...由于PARTITION BY 指定了Account 列,当Account 改变后这个函数被重置,于是可以看到Account 为2的时候RowNbr重新开始排序。 ...“DateCount”列根据“date”分组分区展示有多少个相同的date值。例子中每个交易的日期都有两个所以该列值都是2。与group by 相似,不同点是总的返回行数。...尤其当计算当前行所占的总行数的百分比的时候应用比较多。 “Last2Count” 列表示在分区内对于当前行和其前面一行的行数。...所以当有重复薪水值得时候就发现了两者的不同,如上所示。 重要提示:ORDER BY在OVER子句中只控制在窗口函数中使用分区行的顺序,而不控制最终结果集的顺序。
其语法与其他 WHERE 子句的操作符稍有不同,因为它需要两个值,即范围的开始值和结束值。...例如,BETWEEN 操作符可用来检索价格在 5 美元和 10 美元之间的所有产品,或在指定的开始日期和结束日期之间的所有日期。...屏幕快照 2018-05-27 10.51.33.png 空值检查 在创建表时,表设计人员可以指定其中的列能否不包含值。在一个列不包含值时,称其包含空值 NULL。...由于 AND 在求值过程中优先级更高,操作符被错误地组合。...屏幕快照 2018-05-27 11.26.02.png IN 操作符的优点 IN 操作符的语法更清楚直观。 在与其他 AND 和 OR 操作符组合使用 IN 时,求值顺序更容易管理。
答: 事务从 COMMIT、 ROLLBACK、连接到数据库或开始第一条可执行的 SQL 语句时开始,到一条 COMMIT、 ROLLBACK 语句或退出数据库时结束。...如果在一个事务中包含 DDL 语句,则在 DDL 语句的前后都会隐含地执行 COMMIT 语句,从而开始或结束一个事务。...同真实的表一样,视图包含一系列带有名称的列和行数据。 但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表, 并且在引用视图时动态生成。...如果有几台不同的服务器分别存储组织中不同地区的数据,而您需要将这些服务器上相似结构的数 据组合起来,这种方式就很有用。通过视图进行查询没有任何限制,通过它们进行数据修改时的限制也很 少。...答:唯一索引可以确保索引列不包含重复的值。在多列唯一索引的情况下,该索引可以确保索引列中每 个值组合都是唯一的。
只要返回相同数目的行,就是正常的 检索多个列 select id,name,age,sex from user 在选择多个列时,一定要在列名之间加上逗号,但最后一个列名后不加。...原因在于计算的次序。SQL在处理OR操作符前,优先处理AND操作符。 当SQL看到上述WHERE子句时,它理解是 19期班级的所有女生,或者18期的所有学员,而不分性别。...如果其他操作符能达到相同的目的,应该使用其他操作符。 + 在确实需要使用通配符时,除非绝对有必要,否则不要把它们用在搜索模式的开始处。 + 把通配符置于搜索模式的开始处,搜索起来是最慢的。...城市、州和邮政编码存储在不同的列中(应该这样),但邮件标签打印程序却需要把它们作为一个恰当格式的字段检索出来。 列数据是大小写混合的,但报表程序需要把所有数据按大写表示出来。...返回某列值之和 AVG() 返回某列的平均值 注意 在使用count时,如果指定列名,则指定列的值为空的行被忽略,但如果COUNT()函数中用的是星号(*),则不忽略 数据分组 GROUP BY
为了提高可读性,各子句分行写,必要时使用缩进每条命令以 ; 或 \g 或 \G 结束关键字不能被缩写也不能分行 关于标点符号必须保证所有的()、单引号、双引号是成对结束的必须使用英文状态下的半角输入方式字符串型和日期时间类型的数据可以使用单引号...DISTINCT 其实是对后面所有列名的组合进行去重,你能看到最后的结果是 74 条,因为这 74 个部门id不同,都有 salary 这个属性值。...一个空字符串的长度是 0,而一个空值的长度是空。而且,在 MySQL 里面,空值是占用空间的。 着重号 我们需要保证表中的字段、表名等没有和保留字、数据库系统或常用方法冲突。...(键盘上1数字的旁边那玩意) 补充: SELECT 查询还可以对常数进行查询。对的,就是在 SELECT 查询结果中增加一列固定的常数列。这列的取值是我们指定的,而不是从数据表中动态取出的。...Key:表示该列是否已编制索引。 PRI表示该列是表主键的一部分; UNI表示该列是UNIQUE索引的一部分; MUL表示在列中某个给定值允许出现多次。
也可以按照商品 ID 拆分出不同的订单日期与运货日期,这种层系组合方式就是以商品 ID 为主要视角: 可以看到,不同思维角度会按照不同的方式组合层系。...**如上图所示,如果行拖拽了两个不同的度量,那么可以出现两条线或者双轴图,但当拖拽一个维度一个度量时,可以对图表进行 分面 ,比如观察 2013 ~ 2016 年不同顾客对销量的贡献。...表格对于行下钻如下图所示: **上图也可以理解为展示出 Order Date 与 Order ID 的明细数据,按照 Order Date 分组且列合并。...图表在行与列同时下钻时,与表格的表现稍有不同。仅从轴来看拆解方式是相同的,内部展示了多套轴: **可以认为,当行或列上最后一个字段为度量时,就会切换为图表展示,因为图表适合展示连续状态。...对于连续型字段作用于维度,默认适合散点图,因为散点图的行与列都是度量,适合作为默认推荐: 但能用散点图的就也能用线图, **当维度是连续日期字段时,适合用折线图而不是散点图。
日期和时间处理函数 日期和时间采用相应的数据类型存储在表中,以特殊的格式来存储。...: 在一个查询中从不同的表返回结构数据 对一个表执行多个不同的查询,按照一个查询返回数据 创建组合查询 可以用UNION操作符来组合数条SQL查询。...列名在圆括号中,各个列之间通过逗号隔开 每列的定义以列名开始,后紧跟数据类型 ,是否允许控制等 整条语句是以分号结束 使用NULL值 NULL值就是没有值或者缺失值。...否则数据库中的数据不一致。 隔离性Isolation:当多个用户并发访问数据库,操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。...开始标志:任何一条DML语句的执行,标志事务开始 结束的标志分为两种:成功结束的标识和失败结束的标识 1、成功结束的标志 commit:提交 将所有的DML语句的操作历史记录和底层硬盘中的数据进行了同步
返回 str 在 str1, str2, str3, ... 列表中的索引(位置从1开始)。 如果str没有找到 返回值为0。...或者having后面:支持标量,列,行子查询 exists后面(相关子查询):支持表子查询 按结果集的行列数不同: 标量子查询(结果集只有一行一列) 列子查询(结果集只有一列多行) 行子查询(结果集可以有一行多列...注意非法子查询,即标量子查询的结果必须是一行一列,不然对于表量子查询来说就属于非法子查询 在使用子查询时,子查询的查询条件的值由外部查询来提供 ---- 列子查询(多行子查询) 多行比较操作符...id和stuName都相同时,会报错,因为主键唯一,当插入记录的id和stuName某一条为空时,会报错,因为id和stuName组合为一个主键,因此他们两个其中任意一个都不为空 但是插入的记录和表中已有的某条记录的...id和stuName都相同时: 因为id和stuName组合为一个主键,因此id和stuName都默认为非空 唯一的组合和主键的组合相同 unique(id,stuName);//唯一键的组合
日期和时间处理函数 日期和时间采用相应的数据类型存储在表中,以特殊的格式来存储。...: 在一个查询中从不同的表返回结构数据 对一个表执行多个不同的查询,按照一个查询返回数据 创建组合查询 可以用UNION操作符来组合数条SQL查询。...= 'Sam Roberts' WHERE cust_id = '10000000005'; -- 3、过滤条件 在更新多个列的值时,只需要使用提交SET命令,每个列=值对之间通过逗号隔开,最后一个列不同...否则数据库中的数据不一致。 隔离性Isolation:当多个用户并发访问数据库,操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。...开始标志:任何一条DML语句的执行,标志事务开始 结束的标志分为两种:成功结束的标识和失败结束的标识 1、成功结束的标志 commit:提交 将所有的DML语句的操作历史记录和底层硬盘中的数据进行了同步
这对于了解数据的整体特征以及各个分组之间的差异非常有用。 数据分类: 当需要按照某个列对数据进行分类时,分组查询是很有帮助的。例如,你可以按照地区、部门、时间等将数据进行分组,以便更好地理解和分析。...这样,查询结果将包含按照产品ID和区域、按照产品ID、按照区域以及全局总计的销售数量。你可以在同一查询中获得这些不同层次的汇总信息。...CUBE: 语法: 使用 CUBE 时,你同样指定一个列列表,表示要进行多维度分组的列。CUBE 生成一个包含每个列组合的聚合值,以及所有可能的列组合的总计值。...避免在 GROUP BY 中使用过多列: 尽量保持 GROUP BY 中列的数量较少,以防止生成过多的组合,从而降低性能。...理解 ROLLUP 和 CUBE 的用途: ROLLUP 和 CUBE 允许你在一个查询中获得多个分组层次的聚合结果。选择使用它们时要确保理解它们的效果。
在优化磁盘使用方面有重要作用; 行: 表中的一个记录; 别称记录,从技术上讲:行才是正确的术语; 主键: 一列或一组列,其值能够唯一区分表中的每一行; 唯一标识表中每行的这个列(或这组列...between关键字匹配的范围中所有的值,包括指定的开始值与结束值; 空值检查: 在一个列中不包含值时,称为包含空值NULL; NULL 无值,它与字段包含0,空字符串或者仅仅包含空格不同; 关键字:is...因为未知具有特殊的含义,数据库不知道它们是否匹配,所以在匹配过滤或不匹配过滤时不返回它们; 因此,再过滤数据时,一定要验证返回数据中确实给出了被过滤列具有的NULL的行。...定位符: ^ 文本开始 $ 文本结束 [[:<:]] 词的开始 [[:>:]] 词的结束 ^ 的双重作用:(1)集合中,否定集合;(2)表示文本开始 例:找出一个数(包括以小数点开始的数)开始的所有产品...: 使用形式:大多数被用来读取、统计和处理这些值 常用日期和时间处理函数:(待补充) 使用日期格式的注意点: AVG()函数: 作用:返回所有列的平均值,也可返回特定列的平均值 mysql> select
最初,“开始时间”和“完成时间”列中的日期反映了您为项目指定的开始日期。要更改该日期,请单击单元格,然后键入新日期。 “工期”列将随您键入的新开始日期和完成日期自动更新。...时间刻度始于您指定的开始日期,止于您指定的完成日期。当您添加任务的开始日期和结束日期或工期时,任务栏将出现在时间刻度下面的区域中,且该区域将展开。...“完成时间”列中的日期将发生变化,以便与“开始时间”列中的日期相匹配,且“工期”设置为零 (0)。 将现有任务转换为里程碑 在表示要转换为里程碑的任务的行的“工期”列中,键入工期零 (0)。...目的 采取的操作 更改开始日期和/或结束日期 在甘特图中,右键单击时间刻度中的任何部分,然后单击快捷菜单中的“日期选项”。...注释 当您展开时间刻度以显示更多时间单位时,还可以更改与项目相关的结束日期。 打印大型甘特图 除非是为小项目创建日程,否则,您的甘特图很可能超出一页标准打印纸的边界。
举例来说,如果前 10,000 行中大多数为文本值,那么整个列都映射为使用文本数据类型。 注意: 空单元格也可以创建混合值列,因为它们的格式不同于文本、日期或数字。...维度和度量 当您连接到数据源时,Tableau 会将数据源中的每个字段分配为扮演两个可能的数据角色之一:维度或度量。 当您开始在 Tableau 中处理数据时,这些分配有什么效果?...当您单击并将字段从“维度”区域拖到“行”或“列”时,Tableau 将创建列或行标题。 从“维度”区域拖出的任何字段在添加到视图时一开始为离散,带有蓝色背景。...对于名称表明数据类型的字段,例如“年”或“月”(Tableau 会将其识别为“日期”维度),或者包含诸如“ID”和“键”的字词的字段(Tableau 会将其分类为维度,即使这些字段是数值字段),则情况有所不同...现在共有 57 个标记(三个细分市场乘以四个区域,再乘以五年,结果为 60,但视图中有三个在数据源中没有数据的维度组合)。 我们可继续向“行”和“列”中添加维度,并能观察到标记的总数持续增加。
SQL 语言的规则与规范SQL 可以写在一行或多行。为了提高可读性,各子句分行写,必要时使用缩进,每条命令以 ; 或 \g 或 \G 结束。关键字不能被缩写也不能分行。...标点符号必须保证所有的 ()、单引号、双引号是成对结束的,必须使用英文状态下的半角输入方式。字符串型和日期时间类型的数据可以使用单引号(' ')表示。...对的,就是在 SELECT 查询结果中增加一列固定的常数列。这列的取值是我们指定的,而不是从数据表中动态取出的。你可能会问为什么我们还要对常数进行查询呢?...比如说,我们想对 employees 数据表中的员工姓名进行查询,同时增加一列字段corporation,这个字段固定值为“腾讯云”,去除重复行默认情况下,查询会返回全部行,包括重复行。...DISTINCT 对后面所有列名的组合进行去重。空值参与运算所有运算符或列值遇到 NULL 值,运算的结果都为 NULL。
在使用多列作为主键时,上述条件必须应用到构成主键的所有列,所有列值的组合必须是唯一的(单个列的值可以不唯一)。...指定所需范围的开始值和结束值,可以达到范围查询的效果。 注意 between and 左右数字是按小大的顺序的,调过来不行。...可以看到列 cust_id 被省略了,当满足下面条件时,列可以省略: 列定义为允许 null 值; 表定义时这个列给出了默认值,表示如果不给值则使用默认值。 如果不能省略却省略了,会报错。...根据不同需要可以选择不同引擎。 13.2 修改表 alter table 修改表使用 alter table 语句,一般情况下,当表中开始存储数据后,就不应该再修改表。...视图 视图是虚拟存在的表,行和列的数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的,只保存 SQL 逻辑,不保存查询结果。
领取专属 10元无门槛券
手把手带您无忧上云