一、数据处理
数据处理之类型转换
字符格式与数值格式存储的数据,同样是进行大小排序, 会有什么区别?
以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即代表起始位置