数据库系列之数据处理 1插入一列固定值 2json序列解

所用到的数据表的结构如下:

image-20210919204526800.png

数据表的内容如下:

image-20210919205800863.png

1.插入一列固定值

有时候,我们除了要获取原始表中现有的数据。还想再查询结果中根据选取的数据特征插入一列固定值。其实现方法如下:

1
2
vbnet复制代码SELECT id, `name`,age<20 as label
FROM chapter5 WHERE age<20

result:

image-20210919210112455.png

2.json序列解析

针对json格式存储的数据,可以按照如下办法进行解析。

2.1 获取json数据的value

1
2
javascript复制代码SELECT id, `name`,JSON_EXTRACT(score, "$.数学")  as "数学成绩"
FROM chapter5

result:

image-20210919210417436.png

2.2 获取json数据的key

1
2
javascript复制代码SELECT id, `name`,JSON_KEYS(score)  as "科目"
FROM chapter5

result:

image-20210919210607450.png

3.缺失值

从第3节开始所用到的数据表的结构如下:

image-20210919230134993.png

数据表的内容如下:

image-20210919230202125.png

3.1. 缺失值过滤

缺失值有空格、null和空值(用””表示空值)三种表现形式,前2种形式虽然也表示缺失值,但是在对应的单元格内是有值的,而后一种空值是没有值的,表示这个单元格什么都没有。

空值的过滤:

1
sql复制代码SELECT * FROM chapter6 WHERE profession !=""

result:

image-20210919230332690.png

空格的过滤:

1
sql复制代码SELECT * FROM chapter6 WHERE profession !=" "

null的过滤

1
sql复制代码SELECT * FROM chapter6 WHERE profession is not NULL

3.2 缺失值填充

1
sql复制代码SELECT *, COALESCE(profession,"其他") FROM chapter6

result:

image-20210919231153645.png

4.重复值处理

4.1 distinct

1
sql复制代码SELECT DISTINCT order_id, memberid FROM chapter6

result:

image-20210920100707699.png

4.2 group by

1
vbnet复制代码SELECT order_id, memberid FROM chapter6 GROUP BY order_id, memberid

result:

image-20210920100757687.png

5.数据类型转换

数据类型转换主要有以下两个方法:
cast(value as type)

convert(value, type)

1
sql复制代码SELECT age, CAST(age as DECIMAL) decimal_age, CONVERT(age, CHAR) char_age FROM chapter6

result:

image-20210920101136798.png

本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%