当前位置: 首页 > news >正文

BDA初级分析——SQL清洗和整理数据

一、数据处理

数据处理之类型转换

字符格式与数值格式存储的数据,同样是进行大小排序, 会有什么区别?

以rev为例,看看字符格式与数值格式存储时,排序会有什么区别?

用cast as转换为字符后进行排序

SELECT CAST(rev AS char(10))AS rev_test FROM orders ORDER BY rev_test DESC;

99.1>982.1?

字符串比较大小是逐位来比较的

 CAST AS

Cast as 按...分组

作用:对字段格式进行转换

写法:cast(字段名 as 目标数据类型)

常见的格式转换:

转换为日期:Cast(字段 as date)

转换为整数:Cast(字段 as signed)

SUBSTRING

substring 截取子串

作用:提取长串字符中的部分关键词

写法:SUBSTRING(string,start_position,length)

string:要取的目标字段,可以是某个字段,也可以是一个指定的字符

start_position:起始位置

Length:要取的长度

ROUND

round

作用:对数据保留特定的小数点后位数

写法:round(number,n)

number:数据

n:小数点后位数,不提供n时默认为0,即对数据取整

二、对现有表的更改

INSERT INTO

insert into 插入

作用:在现有表中插入新的记录

写法:INSERT INTO 表名(column1,column2,...)VALUES(value1,value2,...)

 怎么把一条漏掉的数据更新到表里?

 INSERT INTO product(category,sku,cat_name,sku_name)

VALUES('2','23','家具','电视柜');

DELETE

delete 删除

作用:删除数据表中的记录

写法:DELETE FROM table_name WHERE condition;

 

 UPDATE

update 更新

作用:直接更新表内字段值

写法:UPDATE table_name SET 字段名=“更新后的内容” WHERE condition;

 

 UPDATE、INSERT INTO、DELETE的执行不可逆

三、创建新的变量和数据表

CASE WHEN

case when

作用:根据是否满足语句中的判断条件,选择不同的取值,对数据进行重新分类整理和命名

写法:CASE WHEN 条件1 THEN 取值1

                     WHEN 条件2 THEN 取值2

           ........

          ELSE 取值n

          END

 

 CREATE TABLE … AS

create table ... as

作用:创建新的表

写法:create table 表名称 as 所需要的表信息

 课后小结

随堂练习

 正确答案: 正确
解析:
cast as的作用是对数据类型做转换

 正确答案: B 
解析:
UPDATE是更新现有数据,CREATETABLE是创建新的表,CASE WHEN是对现有数据分组形成新的字段

 正确答案: 错误 
解析:
我们在这里将units格式转换后的结果命名为了units new,因此这里ORDERBY的依据应该是units new而不是units

 正确答案: ACD
解析:
ROUND可以取小数点后位数,0即为整数,为0时可以省略不写; SIGNED 表示有符号的整数(这里的符号是指正负号) ,CAST(值 AS SIGNED)也可以实现取整

 正确答案: 错误 
解析:在SQL对表格的修改是不可逆的UPDATE,DELETE,INSERT INTO一旦执行后是无法撤销的

 正确答案: 错误 
解析:
日期格式可以改写为date,即cast(日期as date)

 正确答案: 错误
解析:
column2这里,字段名不需column1、要加引号

 正确答案: 错误 
解析:
UPDATE的语何是UPDATE 表名 SET字段=某个值 WHERE 条件,这里漏掉了SET

 正确答案: 错误 
解析:
SUBSTRING的功能是提取长串字符中的部分关键词,SUBSTRING ( string,start position , length )中start position即代表起始位置

http://www.lryc.cn/news/131467.html

相关文章:

  • 汽车后视镜反射率测定仪
  • Redis学习笔记
  • 韩顺平Linux 四十四--
  • 【支付宝小程序】分包优化教程
  • 语言基础2 矩阵和数组
  • springMVC中过滤器抛出异常,自定义异常捕获
  • 图像检索技术研究:深度度量与深度散列在相似性学习中的应用比较与实践 - 使用Python与Jupyter环境
  • CSS加载失败的6个原因
  • react之路由的安装与使用
  • 基于RoCE的应用程序的MTU注意事项
  • springboot集成Graphql相关问题汇总
  • Angular16的路由守卫基础使用
  • leetcode228. 汇总区间
  • 删除有序链表中重复的元素-II(链表)
  • element单独检验form表单中的一项
  • Webpack node、output.jsonpFunction 配置详解
  • 要跟静音开关说再见了!iPhone15新变革,Action按钮引领方向
  • 论文笔记 Graph Attention Networks
  • 看上去就很像的agree和degree有什么联系
  • 2023前端面试题第二弹(真实,一般人我还不给看)
  • 零基础如何学习 Web 安全,如何让普通人快速入门网络安全?
  • 安全学习DAY18_信息打点-APP资产搜集
  • react 矩形波浪
  • 【GitHub】Pycharm本地项目打包上传到Github仓库的操作步骤
  • 计算机网络基础
  • 【图像分类】基于LIME的CNN 图像分类研究(Matlab代码实现)
  • 回归预测 | MATLAB实现TSO-SVM金枪鱼群算法优化支持向量机多输入单输出回归预测(多指标,多图)
  • Pixar、Adobe 和苹果等成立 OpenUSD 联盟推行 3D 内容开放标准
  • ansible剧本之role角色模块
  • 网络安全领域的常见攻击方式及防御手段