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 ...
随机推荐
- dom4j操作xml的demo
package com.cn.shop.util; import java.io.File;import java.io.FileOutputStream;import java.io.OutputS ...
- VBA定时执行某程序
OnTime 方法参阅应用于示例特性安排一个过程在将来的特定时间运行(既可以是具体指定的某个时间,也可以是指定的一段时间之后). expression.OnTime(EarliestTime, Pro ...
- java知识点归集
将工作中,或者看书的过程中碰到的自己之前没有掌握的知识点进行归纳,暂时就碰到什么写什么,后续有一定量的话进行整理: 1. list实现 相关文章:https://zhuanlan.zhihu.com ...
- 判断手机是安卓还是ios
let ORZ = function() { if(!(this instanceof ORZ)) { return new ORZ; }}ORZ.prototype = { // 判断用户手机是An ...
- 文笔很差系列1 - 也谈谈AlphaGo
距离AlphaGo击败李世石已经过去数月了,心中的震撼至今犹在,全刊报道此项比赛的<围棋天地>杂志我已经看了不下十遍.总也想说点自己的意见,却也不知道从哪里说起,更不知道想表达些什么. 作 ...
- 利用exosip DNS CACHE自定义SIP服务器地址和端口
文章标题可能表述不清,罢了,我这里描述一个场景: 当使用exosip开发UA时,服务器地址是域名example.com和端口形式,但存在两个限制: 1.example.com没有DNS记录.没有NAP ...
- linux 怎么上传下载-- 文件
https://www.cnblogs.com/lynn-li/p/6078595.html yum install lrzsz rz:从本地上传文件至服务器 sz filename:从服务器下载文件 ...
- spring boot 之 spring task(定时任务)
cron:通过表达式来配置任务执行时间cron表达式详解 一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素.按顺序依次为: 秒(0~59)分钟(0~59)3 小时(0~23)4 天(0 ...
- yaf nginx 设置
#test1server { listen 80; listen [::]:80; root /vagrant_data/aaa/public; index index.html index.htm ...
- Mac 永久添加 环境变量方法
在 ~ 目录下 新建 .bash_profile 文件 在文件新增 export PATH="$PATH:/Users/zhangpengchao/tools/flutter/flutter ...