ODPS SQL <for 数据操作语言DML>
基本操作:
查询:
SELECT [ALL | DISTINCT] select_expr, select_expr, ...
FROM table_reference
[WHERE where_condition]
[GROUP BY col_list]
[ORDER BY order_condition]
[DISTRIBUTE BY distribute_condition [SORT BY sort_condition] ]
[LIMIT number]
更新:
INSERT OVERWRITE|INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)] [(col1,col2 ...)]
select_statement
FROM from_statement;
表关联:
join_table:
table_reference join table_factor [join_condition]
| table_reference {left outer|right outer|full outer|inner} join table_reference join_condition
table_reference:
table_factor
| join_table
table_factor:
tbl_name [alias]
| table_subquery alias
| ( table_references )
join_condition:
on equality_expression ( and equality_expression )
演示内容:
使用DML:
*查询已有数据
*使用表连接查询数据
*覆盖更新
*追加更新
//上传演示数据
odps@ sdrtest>tunnel upload /root/.odpscmd/t_people.txt t_people;
//查看演示数据
odps@ sdrtest>select * from t_people;
+------------+------+
| id | name |
+------------+------+
| 1 | Michael Jordan |
| 2 | Angela Dorthea Merkel |
| 3 | Bruce Willis |
| 4 | Kim Kardashian |
| 5 | Jhon Knight |
| 6 | Maria Sharapova |
| 7 | Chiang Kai-shek |
| 8 | Jennifer Aniston |
| 9 | David Beckham |
| 10 | Dragon Lady |
+------------+------+
odps@ sdrtest>select count(*),id from t_people group by id having count(*) > 0; ID = 20190414051444876gfk3c692
Job Queueing.
----------------------------------------------------------------------------------------------
STAGES STATUS TOTAL COMPLETED RUNNING PENDING BACKUP
M1_job_0 ................. TERMINATED 1 1 0 0 0
----------------------------------------------------------------------------------------------
STAGES STATUS TOTAL COMPLETED RUNNING PENDING BACKUP----------
M1_job_0 ................. TERMINATED 1 1 0 0 0----------------------------------------------------------------------------------
R2_1_job_0 ............... TERMINATED 1 1 0 0 0
----------------------------------------------------------------------------------------------
STAGES: 02/02 [==========================>>] 100% ELAPSED TIME: 8.17 s
----------------------------------------------------------------------------------------------
Summary:
resource cost: cpu 0.00 Core * Min, memory 0.00 GB * Min
inputs:
sdrtest.t_people: 10 (776 bytes)
outputs:
Job run time: 5.000
Job run mode: fuxi job
Job run engine: execution engine
M1:
instance count: 1
run time: 3.000
instance time:
min: 0.000, max: 0.000, avg: 0.000
input records:
TableScan1: 10 (min: 10, max: 10, avg: 10)
output records:
StreamLineWrite1: 10 (min: 10, max: 10, avg: 10)
writer dumps:
StreamLineWrite1: (min: 0, max: 0, avg: 0)
R2_1:
instance count: 1
run time: 5.000
instance time:
min: 0.000, max: 0.000, avg: 0.000
input records:
StreamLineRead1: 10 (min: 10, max: 10, avg: 10)
output records:
AdhocSink1: 10 (min: 10, max: 10, avg: 10)
reader dumps:
StreamLineRead1: (min: 0, max: 0, avg: 0) +------------+------------+
| _c0 | id |
+------------+------------+
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 1 | 4 |
| 1 | 5 |
| 1 | 6 |
| 1 | 7 |
| 1 | 8 |
| 1 | 9 |
| 1 | 10 |
+------------+------------+
//使用表连接查询数据
odps@ sdrtest>select t1.* from t_people t1 join t_people t2 on t1.id=t2.id; ID = 20190414052009767gcpxmnim Job Queueing.
----------------------------------------------------------------------------------------------
STAGES STATUS TOTAL COMPLETED RUNNING PENDING BACKUP
M1_job_0 ................. TERMINATED 1 1 0 0 0
----------------------------------------------------------------------------------------------
STAGES STATUS TOTAL COMPLETED RUNNING PENDING BACKUP----------
M1_job_0 ................. TERMINATED 1 1 0 0 0----------------------------------------------------------------------------------
J2_1_job_0 ............... TERMINATED 1 1 0 0 0
----------------------------------------------------------------------------------------------
STAGES: 02/02 [==========================>>] 100% ELAPSED TIME: 8.56 s
----------------------------------------------------------------------------------------------
Summary:
resource cost: cpu 0.00 Core * Min, memory 0.00 GB * Min
inputs:
sdrtest.t_people: 10 (776 bytes)
outputs:
Job run time: 6.000
Job run mode: fuxi job
Job run engine: execution engine
M1:
instance count: 1
run time: 3.000
instance time:
min: 0.000, max: 0.000, avg: 0.000
input records:
TableScan1: 10 (min: 10, max: 10, avg: 10)
output records:
StreamLineWrite1: 10 (min: 10, max: 10, avg: 10)
StreamLineWrite2: 10 (min: 10, max: 10, avg: 10)
writer dumps:
StreamLineWrite1: (min: 0, max: 0, avg: 0)
StreamLineWrite2: (min: 0, max: 0, avg: 0)
J2_1:
instance count: 1
run time: 6.000
instance time:
min: 0.000, max: 0.000, avg: 0.000
input records:
StreamLineRead1: 10 (min: 10, max: 10, avg: 10)
StreamLineRead2: 10 (min: 10, max: 10, avg: 10)
output records:
AdhocSink1: 10 (min: 10, max: 10, avg: 10)
reader dumps:
StreamLineRead1: (min: 0, max: 0, avg: 0)
StreamLineRead2: (min: 0, max: 0, avg: 0) +------------+------+
| id | name |
+------------+------+
| 1 | Michael Jordan |
| 2 | Angela Dorthea Merkel |
| 3 | Bruce Willis |
| 4 | Kim Kardashian |
| 5 | Jhon Knight |
| 6 | Maria Sharapova |
| 7 | Chiang Kai-shek |
| 8 | Jennifer Aniston |
| 9 | David Beckham |
| 10 | Dragon Lady |
+------------+------+
//创建新表用于演示追加更新:
odps@ sdrtest>create table t_people_new like t_people;
odps@ sdrtest>read t_people_new;
+------------+------------+
| id | name |
+------------+------------+
+------------+------------+
odps@ sdrtest>insert into table t_people_new select * from t_people;
//查看新建的表内写入的数据:
odps@ sdrtest>read t_people_new
>;
+------------+------------+
| id | name |
+------------+------------+
| 1 | Michael Jordan |
| 2 | Angela Dorthea Merkel |
| 3 | Bruce Willis |
| 4 | Kim Kardashian |
| 5 | Jhon Knight |
| 6 | Maria Sharapova |
| 7 | Chiang Kai-shek |
| 8 | Jennifer Aniston |
| 9 | David Beckham |
| 10 | Dragon Lady |
+------------+------------+
//演示追加更新 <into>
odps@ sdrtest>insert into table t_people_new select * from t_people;
Job Queueing.
----------------------------------------------------------------------------------------------
STAGES STATUS TOTAL COMPLETED RUNNING PENDING BACKUP
M1_job_0 ................. TERMINATED 1 1 0 0 0
----------------------------------------------------------------------------------------------
STAGES: 01/01 [==========================>>] 100% ELAPSED TIME: 5.26 s
----------------------------------------------------------------------------------------------
Summary:
resource cost: cpu 0.00 Core * Min, memory 0.00 GB * Min
inputs:
sdrtest.t_people: 10 (776 bytes)
outputs:
sdrtest.t_people_new: 10 (776 bytes)
Job run time: 3.000
Job run mode: fuxi job
Job run engine: execution engine
M1:
instance count: 1
run time: 3.000
instance time:
min: 0.000, max: 0.000, avg: 0.000
input records:
TableScan1: 10 (min: 10, max: 10, avg: 10)
output records:
TableSink1: 10 (min: 10, max: 10, avg: 10) OK
odps@ sdrtest>read t_people_new;
+------------+------------+
| id | name |
+------------+------------+
| 1 | Michael Jordan |
| 2 | Angela Dorthea Merkel |
| 3 | Bruce Willis |
| 4 | Kim Kardashian |
| 5 | Jhon Knight |
| 6 | Maria Sharapova |
| 7 | Chiang Kai-shek |
| 8 | Jennifer Aniston |
| 9 | David Beckham |
| 10 | Dragon Lady |
| 1 | Michael Jordan |
| 2 | Angela Dorthea Merkel |
| 3 | Bruce Willis |
| 4 | Kim Kardashian |
| 5 | Jhon Knight |
| 6 | Maria Sharapova |
| 7 | Chiang Kai-shek |
| 8 | Jennifer Aniston |
| 9 | David Beckham |
| 10 | Dragon Lady |
+------------+------------+ //演示覆盖更新 <overwrite>
odps@ sdrtest>insert overwrite table t_people_new select * from t_people; ----------------------------------------------------------------------------------------------
STAGES STATUS TOTAL COMPLETED RUNNING PENDING BACKUP
M1_job_0 ................. TERMINATED 1 1 0 0 0
----------------------------------------------------------------------------------------------
STAGES: 01/01 [==========================>>] 100% ELAPSED TIME: 5.24 s
----------------------------------------------------------------------------------------------
Summary:
resource cost: cpu 0.00 Core * Min, memory 0.00 GB * Min
inputs:
sdrtest.t_people: 10 (776 bytes)
outputs:
sdrtest.t_people_new: 10 (776 bytes)
Job run time: 3.000
Job run mode: fuxi job
Job run engine: execution engine
M1:
instance count: 1
run time: 3.000
instance time:
min: 0.000, max: 0.000, avg: 0.000
input records:
TableScan1: 10 (min: 10, max: 10, avg: 10)
output records:
TableSink1: 10 (min: 10, max: 10, avg: 10) OK
odps@ sdrtest>read t_people_new;
+------------+------------+
| id | name |
+------------+------------+
| 1 | Michael Jordan |
| 2 | Angela Dorthea Merkel |
| 3 | Bruce Willis |
| 4 | Kim Kardashian |
| 5 | Jhon Knight |
| 6 | Maria Sharapova |
| 7 | Chiang Kai-shek |
| 8 | Jennifer Aniston |
| 9 | David Beckham |
| 10 | Dragon Lady |
+------------+------------+
odps@ sdrtest>
others....
ODPS SQL <for 数据操作语言DML>的更多相关文章
- ODPS SQL <for 数据定义语言 DDL>
数据定义语言:(DDL) 建表语句: CREATE TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment ...
- MySQL之数据定义语言(DDL)
写在前面 本文中 [ 内容 ] 代表啊可选项,即可写可不写. SQL语言的基本功能介绍 SQL是一种结构化查询语言,主要有如下几个功能: 数据定义语言(DDL):全称Data Definition L ...
- <MySQL>入门三 数据定义语言 DDL
-- DDL 数据定义语言 /* 库和表的管理 一.库的管理:创建.修改.删除 二.表的管理:创建.修改.删除 创建:create 修改:alter 删除:drop */ 1.库的管理 -- 库的管理 ...
- 30441数据定义语言DDL
数据定义:指对数据库对象的定义.删除和修改操作. 数据库对象主要包括数据表.视图.索引等. 数据定义功能通过CREATE.ALTER.DROP语句来完成. 按照操作对象分类来介绍数据定义的SQL语法. ...
- SQL语句整理(二) 数据定义语言DDL
前言: 这是我学数据库时整理的学习资料,基本上包括了所以的SQL语句的知识点. 我的教材是人大王珊老师的<数据库系统概论>. 因为是手打的,所以会用一些细节打错了,但都挺明显也不多(考完试 ...
- oracle 数据定义语言(DDL)语法
DDL语言包括数据库对象的创建(create).删除(drop)和修改(alter)的操作 1.创建表语法 create table table_name( column_name datatype ...
- 【MySQL笔记】数据定义语言DDL
1.创建基本表 create table <表名> (<列名><数据类型>[列级完整性约束条件] ...
- SQLite基础-4.数据定义语言(DDL)
目录 一.创建数据库 1. 创建方式 2. 数据库命名规范 二. 创建表 1. 基本用法 2. 数据表命名规范 3. 字段命名规范 三. 删除表 一.创建数据库 1. 创建方式 在第二章中我们讲了如何 ...
- MySQL SQL DLL (数据定义语言)
CREATE CREATE DATABASE CREATE DATABASE 用于创建数据库 CREATE DATABASE new_database_name; CREATE TABLE CREAT ...
随机推荐
- tail语法
本文介绍Linux下tail命令的使用方法.linux tail命令用途是依照要求将指定的文件的最后部分输出到标准设备,通常是终端,通俗讲来,就是把某个档案文件的最后几行显示到终端上,假设该档案有更新 ...
- wpf UI 布局
1.Grid *号代表百分比,也可以使用固定值,需要预先设置 有几行几列 以及宽度和高度 ,在表格中的控件需要 表明自己所在第几行 第几列 2.StackPanel 重点需要设置 排列方向 水平还是垂 ...
- 测试那些事儿—selenium自动化实战之登录验证码处理
登陆时经常出现验证码自动化测试如何处理呢? 一般有如下几种处理思路: 1.通过接口请求,拿到对应验证码信息 2.让开发配合把验证码改成万能验证码 3.注入cookies 如何通过注入cookies的方 ...
- Arcmap连接数据库需管理员获取许可——创建ArcSDE连接文件
一.在装有server的服务器上创建ArcSDE连接文件 1.打开ArcMap<<ArcToolBox<<数据管理工具<<工作空间<<创建ArcSDE连 ...
- Linux搭建bugfree
1.xampp安装包地址: 链接:https://pan.baidu.com/s/1Th2QvF77jvIGzMROoF2rbg 密码:yoar 2.因为我用的是xshell5连接Linux服务器,直 ...
- 1.golang的环境搭建及入门
安装包下载 下载链接:https://dl.google.com/go/go1.12.3.windows-amd64.msi 环境搭建 安装完成之后,找一个来存放go语言文件的文件夹,我这里选的是G: ...
- too many open files(打开的文件过多)解决方法
https://blog.csdn.net/roy_70/article/details/78423880 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.n ...
- spring-boot入门总结
1.org.springframework.web.bind.annotation不存在 错误的pom.xml <dependency> <groupId>org.spring ...
- NIO、BIO、AIO区别
一.同步阻塞I/O(BIO): 同步阻塞I/O,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,可以通过线程池机 ...
- Git 2.x 中git push时遇到 push.default 警告的解决方法
近在学习使用 git&GitHub,然后今天遇到了一个问题.在执行 git add 和 git commit 操作之后,再进行 git push 操作,出现了如下提示: $ git push ...