ODPS SQL <for 数据定义语言 DDL>
数据定义语言:(DDL)
建表语句:
CREATE TABLE [IF NOT EXISTS] table_name
[(col_name data_type [COMMENT col_comment], ...)] // 设置表的字段,给字段添加注释
[COMMENT table_comment] //给建的表添加注释
[PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] //添加分区,目前分区标只能是string类型的;
[LIFECYCLE days] //设置表的生命周期
[AS select_statement] //也可以用as方式建表,但是as和第一个的col方式是不能并存的
删表:
drop table [if exists] table_name;
修改表名:
alter table table_name rename to new_table_name;
分区操作:
添加分区:
alter table table_name add [if not exists] partition(partition_col1 = partition_col_value1, partition_col2 = partiton_col_value2, ...);
删除分区:
alter table table_name drop [if exists] partition(partition_col1 = partition_col_value1, partition_col2 = partiton_col_value2, ...);
修改属性:
添加列:
ALTER TABLE table_name ADD COLUMNS (col_name1 type1,col_name2 type2...);
修改列名:
ALTER TABLE table_name CHANGE COLUMN old_col_name RENAME TO new_col_name;
修改表注释:
alter table table_name set comment 'tb1 comment'
修改列/分区注释:
ALTER TABLE table_name CHANGE COLUMN col_name COMMENT comment_string;
DDL数据定义语言案例演示:
创建/删除普通表:
odps@ sdrtest>create table t_people (id bigint , name string); //创建普通表 odps@ sdrtest>desc t_people; //查看普通表的表结构 +------------------------------------------------------------------------------------+
| Owner: ALIYUN$1399438812@qq.com | Project: sdrtest |
| TableComment: |
+------------------------------------------------------------------------------------+
| CreateTime: 2019-04-13 09:02:41 |
| LastDDLTime: 2019-04-13 09:02:41 |
| LastModifiedTime: 2019-04-13 09:02:41 |
+------------------------------------------------------------------------------------+
| InternalTable: YES | Size: 0 |
+------------------------------------------------------------------------------------+
| Native Columns: |
+------------------------------------------------------------------------------------+
| Field | Type | Label | Comment |
+------------------------------------------------------------------------------------+
| id | bigint | | |
| name | string | | |
+------------------------------------------------------------------------------------+ OK
odps@ sdrtest>drop table t_people_p; //删除普通表
创建分区表:
odps@ sdrtest>create table t_people_p (id bigint,name string) partitioned by (gender string); //创建分区表 odps@ sdrtest>desc t_people_p; //查看表结构 +------------------------------------------------------------------------------------+
| Owner: ALIYUN$1399438812@qq.com | Project: sdrtest |
| TableComment: |
+------------------------------------------------------------------------------------+
| CreateTime: 2019-04-13 09:08:53 |
| LastDDLTime: 2019-04-13 09:08:53 |
| LastModifiedTime: 2019-04-13 09:08:53 |
+------------------------------------------------------------------------------------+
| InternalTable: YES | Size: 0 |
+------------------------------------------------------------------------------------+
| Native Columns: |
+------------------------------------------------------------------------------------+
| Field | Type | Label | Comment |
+------------------------------------------------------------------------------------+
| id | bigint | | |
| name | string | | |
+------------------------------------------------------------------------------------+
| Partition Columns: |
+------------------------------------------------------------------------------------+
| gender | string | |
+------------------------------------------------------------------------------------+ OK
增加/删除分区表中的分区:
odps@ sdrtest>alter table t_people_p add partition (gender = 'male'); //增加分区
odps@ sdrtest>alter table t_people_p drop if exists partition (gender = 'male'); //删除已有分区
修改表属性:
odps@ sdrtest>alter table t_people set lifecycle 7; //修改表的lifecycle属性为7天; 查看表结构验证:
odps@ sdrtest>desc t_people; +------------------------------------------------------------------------------------+
| Owner: ALIYUN$1399438812@qq.com | Project: sdrtest |
| TableComment: |
+------------------------------------------------------------------------------------+
| CreateTime: 2019-04-13 09:02:41 |
| LastDDLTime: 2019-04-13 09:02:41 |
| LastModifiedTime: 2019-04-13 09:02:41 |
| Lifecycle: 7 | //验证为lifecycle里面的属性确定被修改为了7天;
+------------------------------------------------------------------------------------+
| InternalTable: YES | Size: 0 |
+------------------------------------------------------------------------------------+
| Native Columns: |
+------------------------------------------------------------------------------------+
| Field | Type | Label | Comment |
+------------------------------------------------------------------------------------+
| id | bigint | | |
| name | string | | |
+------------------------------------------------------------------------------------+ OK
给表格新增一列:
odps@ sdrtest>alter table t_people add columns (age bigint); odps@ sdrtest>desc t_people; +------------------------------------------------------------------------------------+
| Owner: ALIYUN$1399438812@qq.com | Project: sdrtest |
| TableComment: |
+------------------------------------------------------------------------------------+
| CreateTime: 2019-04-13 09:02:41 |
| LastDDLTime: 2019-04-13 09:20:09 |
| LastModifiedTime: 2019-04-13 09:02:41 |
| Lifecycle: 7 |
+------------------------------------------------------------------------------------+
| InternalTable: YES | Size: 0 |
+------------------------------------------------------------------------------------+
| Native Columns: |
+------------------------------------------------------------------------------------+
| Field | Type | Label | Comment |
+------------------------------------------------------------------------------------+
| id | bigint | | |
| name | string | | |
| age | bigint | | |
+------------------------------------------------------------------------------------+ OK
修改表名:
odps@ sdrtest>alter table t_people rename to t_women;
查看修改结果:
odps@ sdrtest>list tables;
ALIYUN$1399438812@qq.com:t_women
更新列名:
odps@ sdrtest>ALTER TABLE t_women CHANGE COLUMN age RENAME TO age1; //将age列名更新为age1 odps@ sdrtest>desc t_women; +------------------------------------------------------------------------------------+
| Owner: ALIYUN$1399438812@qq.com | Project: sdrtest |
| TableComment: |
+------------------------------------------------------------------------------------+
| CreateTime: 2019-04-13 09:02:41 |
| LastDDLTime: 2019-04-13 09:28:02 |
| LastModifiedTime: 2019-04-13 09:02:41 |
| Lifecycle: 7 |
+------------------------------------------------------------------------------------+
| InternalTable: YES | Size: 0 |
+------------------------------------------------------------------------------------+
| Native Columns: |
+------------------------------------------------------------------------------------+
| Field | Type | Label | Comment |
+------------------------------------------------------------------------------------+
| id | bigint | | |
| name | string | | |
| age1 | bigint | | | //验证列名已经更新;
+------------------------------------------------------------------------------------+ OK
others:...
ODPS SQL <for 数据定义语言 DDL>的更多相关文章
- 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. 创建方式 在第二章中我们讲了如何 ...
- ODPS SQL <for 数据操作语言DML>
基本操作: 查询: SELECT [ALL | DISTINCT] select_expr, select_expr, ... FROM table_reference [WHERE where_co ...
- MySQL SQL DLL (数据定义语言)
CREATE CREATE DATABASE CREATE DATABASE 用于创建数据库 CREATE DATABASE new_database_name; CREATE TABLE CREAT ...
随机推荐
- 剑指Offer 27. 字符串的排列 (字符串)
题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: 输 ...
- Windows+Linux双系统所导致的时间不一致问题的原因及解决方案
参考自:https://www.cnblogs.com/x_wukong/p/4401499.html 前几天在自己的windows10另外还装了一个Ubuntu,使用后发现windows时间一直不对 ...
- linux (centOS)安装 oracle 11g 以及卸载oracle
目录 首先.1. 一.参数以及环境配置 1.创建用户和组 2.创建数据库软件目录和数据文件存放目录 3.配置oracle用户的环境变量 4.修改linux内核,修改/etc/sysctl.conf文件 ...
- linux command 2
#修改文件所有权为user group chown user:group file/group 根据:的位置判断是修改所有者还是组 #修改文件读写执行属性 chmod mask file/group ...
- Tomcat7.0/8.0 详细安装配置图解,以及UTF-8编码配置
Tomcat7.0/8.0 详细安装配置图解,以及UTF-8编码配置 2017年01月24日 10:01:48 阅读数:51265 标签: tomcattomcat安装tomcat配置tomcat编码 ...
- 《从Lucene到Elasticsearch:全文检索实战》学习笔记一
今天,我主要给大家讲一下信息检索概念. 信息检索: 互联网时代的飞速发展使人们进入了信息爆炸时代,据统计全球的互联网用户已达到30亿,在各个网站及移动app在每个分钟 产生的数据量是巨大的,从而导致数 ...
- pass
空语句 do nothing 保证格式完整 保证语义完整 以if语句为例,在c或c++/java中: if(true) ; //do nothing else { //do something } 1 ...
- 新系统centos7重启网络报错
场景: 在不知名云上新弄的centos7,改了IP之后启动不起来,使用systemctl status network查看结果如下: 排查过程: 1)NetworkManager是否关 ...
- 乐乐课堂_leleketang.com
乐乐课堂_leleketang.com https://www.baidu.com/sf?pd=video_page&sign=12394301609542619800&word=抛物 ...
- laravel路由别名
在定义路由时使用数组键 as 指定路由名称: Route::get('user/profile', ['as' => 'profile', function () { // }]); 另外,还可 ...