首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

大战SQL类型及其属性

SQL学习历程 MySQL也有好几天没看了,部分语句都已不太熟悉,得赶快拿起来温习温习。...上次讲到了类型枚举类型,那么接下来还有集合记录长度,属性倒不是特别多,也就有空属性,描述以及默认值,所以学起来也是超快~ 集合字符串 集合跟枚举实际上很类似,实际上存储是数值,而不是字符串(集合可以多选...下面可以开始讲述属性三个小部分啦~ 属性 是真正约束字段数据类型。...属性有很多:NULL/NOT NULL,default,primary key,auto_increment,comment(描述表字段) 这里讲到是空属性,描述和默认值。...描述(注释) 描述:comment,起描述作用,无实际意义。是专门用来描述字段,根据表创建语句一起保存

1.3K30
您找到你想要的搜索结果了吗?
是的
没有找到

SQL 将多数据转到一

假设我们要把 emp 表中 ename、job 和 sal 字段值整合到一中,每个员工数据(按照 ename -> job -> sal 顺序展示)是紧挨在一块,员工之间使用空行隔开。...5000 (NULL) MILLER CLERK 1300 (NULL) 解决方案 将多数据整合到一展示可以使用 UNION...使用 case when 条件1成立 then ename when 条件2成立 then job when 条件3成立 then sal end 可以将多数据放到一中展示,一行数据过 case...when 转换后最多只会出来一个值,要使得同一个员工数据能依次满足 case when 条件,就需要复制多份数据,有多个条件就要生成多少份数据。...完整SQL 如下: SELECT CASE rn WHEN 1 THEN ename WHEN 2 THEN job WHEN 3 THEN

5.2K30

实战演练:通过伪、虚拟实现SQL优化

一.通过伪、虚拟实现SQL优化 慢 SQL 文本如下: ? SQL 执行时长达 38S,获取 361 条数据结果返回。 SQL 执行计划如下: ?...虚拟实现SQL优化 分析 SQL 可知,SQL 性能瓶颈在于 a.minute = DATE_FORMAT(b.create_time, '%H:%i') 两表之间关联关系,SQL 无法通过表之间关联关系直接驱动...伪引入,可以强制 SQL 改变表之间关联顺序,获得想要执行计划。将 SQL 改写成如下方式: ? SQL 在 0.004s 之后即返回查询结果。 执行计划如下: ?...分析、验证复杂SQL性能瓶颈 通过对执行计划分析可知,SQL 先执行了 bgInfo,inputlog 相关子查询( DEPENDENT SUBQUERY ),然后再与其他表关联。...,等价改写SQL改变表驱动方式,也仅仅只将 SQL 执行时间由 13s 优化为7s,SQL 真正性能瓶颈在于对 150W 数据 inputlog 表按 ShenFenZhengID 去重。

1.7K31

SQL行转列、转行

大家好,又见面了,我是你们朋友全栈君。 SQL行转列、转行 这个主题还是比较常见,行转列主要适用于对数据作聚合统计,如统计某类目的商品在某个时间区间销售情况。转行问题同样也很常见。...else 0 end) as char)) as 'str' from wyc_test a group by a.date; #转行...: 这就是最常见转行,主要原理是利用SQL里面的union,具体sql语句如下: Sql代码 select user_name, ‘语文’ COURSE , CN_SCORE as...: Sql代码 insert all into test_tb_grade3(USER_NAME,COURSE,SCORE) values(user_name, ‘语文’, CN_SCORE...CN_SCORE, MATH_SCORE, EN_SCORE from test_tb_grade2; commit; 别忘记commit操作,然后再查询TEST_TB_GRADE3,发现表中数据就是转成行了

1.5K10

SQL删除多语句写法

最近在写SQL过程中发现需要对一张表结构作调整(此处是SQL Server),其中需要删除多,由于之前都是一条SQL语句删除一,于是猜想是否可以一条语句同时删除多,如果可以,怎么写法?...第一次猜想如下(注意:此处是猜想,非正确写法): ALTER TABLE TableName DROP COLUMN column1,column2 但是执行后,发现语法错误, 于是改成如下方式:...ALTER TABLE TableName DROP COLUMN column1,COLUMN column2 执行正确,之后查看表结构,发现已删除,证明猜想正确。...以上所述是小编给大家介绍SQL删除多语句写法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家。在此也非常感谢大家对开源独尊支持!

3.5K20

SQL行转列和转行

导读 SQL是IT行业很多岗位都要求具备一项能力,对于数据岗位而言更是如此,甚至说扎实SQL基础也往往是入职这些岗位必备技能。...而在SQL面试中,一道出镜频率很高题目就是行转列和转行问题,可以说这也是一道经典SQL题目,本文就这一问题做以介绍分享。 ? 给定如下模拟数据集,这也是SQL领域经典学生成绩表问题。...scoreWide 考察问题就是通过SQL语句实现在这两种形态间转换,其中长表转为宽表即行转列,宽表转为长表即转行。...其基本思路是这样: 在长表数据组织结构中,同一uid对应了多行,即每门课程一条记录,对应一分数,而在宽表中需要将其变成同一uid下仅对应一行 在长表中,仅有一记录了课程成绩,但在宽表中则每门课作为一记录成绩...这实际上对应一个知识点是:在SQL中字符串引用用单引号(其实双引号也可以),而字段名称引用则是用反引号 上述用到了where条件过滤成绩为空值记录,这实际是由于在原表中存在有空值情况,如不加以过滤则在本例中最终查询记录有

6.9K30

SQL行转列和转行

行转列,转行是我们在开发过程中经常碰到问题。行转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 运算符PIVOT来实现。用传统方法,比较好理解。...但是PIVOT 、UNPIVOT提供语法比一系列复杂SELECT…CASE 语句中所指定语法更简单、更具可读性。下面我们通过几个简单例子来介绍一下转行、行转列问题。...这个是因为:对升级到 SQL Server 2005 或更高版本数据库使用 PIVOT 和 UNPIVOT 时,必须将数据库兼容级别设置为 90 或更高。...有关如何设置数据库兼容级别的信息,请参阅 sp_dbcmptlevel (Transact-SQL)。...下面我们来看看转行,主要是通过UNION ALL ,MAX来实现。

5.3K20

SQL Server 2014聚集存储索引

SQL Server 2012中首次引入了基于存储数据格式存储方式。叫做“存储索引”。...如图增量存储部分我们叫做deltastore,用于存储不够最小行大小数据。流程就是将行数据提取成数据,然后进行压缩存储,多余部分放到deltastore中。...需要注意是如果在表上已经有其他索引,尝试创建聚集存储索引就会出现错误,正如我们之前说,同一个表中不能或者其他索引: ? 不用选择,所有数据都包含在内了: ?...几个好应用场景: 如果你有大型事实表并且存在查询问题,或者SSAS存在其他性能问题存储是一个不错方案。...当然,必须要确保使用存储索引使用带来了好处,而不会引起其他性能问题才能使用。

98140

SQL Server 2014聚集存储索引

SQL Server 2012中首次引入了基于存储数据格式存储方式。叫做“存储索引”。...这个数据段只包含该值,对于大型表它分到多个数据段中,每个数据段中只含有100万行数据,这就叫做行、数据段由一个或者多个数据页组成。数据将在内存和硬盘上以数据段形式传输。   ...倍左右 更新 是 否 排序 在创建之前进行排序 否 存储索引结构图: image.png 如图增量存储部分我们叫做deltastore,用于存储不够最小行大小数据。...下图中我在SQL Server2014 企业版中,创建聚集索引: image.png 需要注意是如果在表上已经有其他索引,尝试创建聚集存储索引就会出现错误,正如我们之前说,同一个表中不能或者其他索引...当然,必须要确保使用存储索引使用带来了好处,而不会引起其他性能问题才能使用。

95390

分离链接代码实现

散列为一种用于以常数平均时间执行插入,删除和查找技术。一般实现方法是使通过数据关键字可以计算出该数据所在散位置,类似于Python中字典。...关于散需要解决以下问题: 散关键字如何映射为一个数(索引)——散函数 当两个关键字函数结果相同时,如何解决——冲突 散函数 散函数为关键字->索引函数,常用关键字为字符串,则需要一个字符串...->整数映射关系,常见三种散函数为: ASCII码累加(简单) 计算前三个字符加权和$\sum key[i] * 27^{i}$ (不太好,3个字母常用组合远远小于可能组合) 计算所有字符加权和并对散长度取余...i := range n.key { hash += int(n.key[i]) * 32 } return hash % lenght } 冲突 当不同关键字计算出值相同时...,发生冲突,本次使用分离链接法解决: 每个散数据结构有一个指针可以指向下一个数据,因此散列表可以看成链表头集合 当插入时,将数据插入在对应散链表中 访问时,遍历对应散链表,直到找到关键字

1.5K80

Pandas 查找,丢弃值唯一

前言 数据清洗很重要,本文演示如何使用 Python Pandas 来查找和丢弃 DataFrame 中值唯一,简言之,就是某数值除空值外,全都是一样,比如:全0,全1,或者全部都是一样字符串如...:已支付,已支付,已支付… 这些大多形同虚设,所以当数据集很多而导致人眼难以查找时,这个方法尤为好用。...上代码前先上个坑吧,数据空值 NaN 也会被 Pandas 认为是一种 “ 值 ”,如下图: 所以只要把缺失值先丢弃,再统计该唯一值个数即可。...代码实现 数据读入 检测值唯一所有并丢弃 最后总结一下,Pandas 在数据清洗方面有非常多实用操作,很多时候我们想不到只是因为没有接触过类似的案例或者不知道怎么转换语言描述,比如 “...值唯一 ” --> “ 除了空值以外唯一值个数等于1 ” ,许多坑笔者都已经踩过了,欢迎查看我其余文章,提建议,共同进步。

5.6K10
领券