sql增删改查示例
注:测试环境为DataWorks ODPS SQL。
准备工作,创建测试表:
--创建测试表(部分测试环境需要将测试表创建为事务表,才能执行删除、修改操作),本次以非事务表演示。
create table test(
id string COMMENT '编号',
name string comment '姓名',
age decimal(3,0) comment '年龄'
)
comment '测试表'
;
1增–>数据写入
1.1 数据写入前需了解目标表字段个数、类型,写入时待写入数据与目标表字段一一对应。
1.2 写入方式分为增量写入,覆盖写入两种方式
--覆盖写入,写入后,表中原有数据会被清除,表中只存在新写入的一条。
insert OVERWRITE TABLE test
values('1','张三',22)
;
--增量写入,即添加数据。写入后目标表原有数据不变,新增加一条。
insert into test (id,name,age)
values('2','张三',22)
;
--写入时可指定对应字段,也可省略,省略默认与建表时字段一一对应
insert into test
values('3','张三',22)
;
--可同时写入多条数据
insert into test
values('1','张三',22)
,('2','李四',18)
;
--报错,当指定写入字段(非指定字段取默认值)不匹配时,会报错
insert into test (id,name)
values('1','张三',22)
;
--可执行,此处年龄字段取默认值
insert into test (id,name)
values('1','张三')
;
2删–>删除数据
删除目标表中冗余、错误数据
(友情提示:正式环境谨慎使用删数操作)
--删除id=‘2’的数据
delete from test where id = '2';
--清空全表数据
TRUNCATE TABLE test;
3改–>修改、更新数据
更新目标表中错误数据
--将id='1'的数据,更新为id='2'
UPDATE test set id = '2' WHERE id = '1';
4查–>查看表中数据
--从某张表查询全部字段。‘*’表示全部字段,实际使用时建议指定具体字段
select *
from test
;
select id,name,age
from test
;
--常用查询模版
SELECT 字段名。。。
from 表1
关联 表2
关联条件
。。。
--where 条件
--group by 分组字段
--having 条件
--order by 排序字段
limit 限制条数
;