数据定义语言:(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>的更多相关文章

  1. MySQL之数据定义语言(DDL)

    写在前面 本文中 [ 内容 ] 代表啊可选项,即可写可不写. SQL语言的基本功能介绍 SQL是一种结构化查询语言,主要有如下几个功能: 数据定义语言(DDL):全称Data Definition L ...

  2. <MySQL>入门三 数据定义语言 DDL

    -- DDL 数据定义语言 /* 库和表的管理 一.库的管理:创建.修改.删除 二.表的管理:创建.修改.删除 创建:create 修改:alter 删除:drop */ 1.库的管理 -- 库的管理 ...

  3. 30441数据定义语言DDL

    数据定义:指对数据库对象的定义.删除和修改操作. 数据库对象主要包括数据表.视图.索引等. 数据定义功能通过CREATE.ALTER.DROP语句来完成. 按照操作对象分类来介绍数据定义的SQL语法. ...

  4. SQL语句整理(二) 数据定义语言DDL

    前言: 这是我学数据库时整理的学习资料,基本上包括了所以的SQL语句的知识点. 我的教材是人大王珊老师的<数据库系统概论>. 因为是手打的,所以会用一些细节打错了,但都挺明显也不多(考完试 ...

  5. oracle 数据定义语言(DDL)语法

    DDL语言包括数据库对象的创建(create).删除(drop)和修改(alter)的操作 1.创建表语法 create table table_name( column_name datatype  ...

  6. 【MySQL笔记】数据定义语言DDL

    1.创建基本表   create table <表名> (<列名><数据类型>[列级完整性约束条件]                                 ...

  7. SQLite基础-4.数据定义语言(DDL)

    目录 一.创建数据库 1. 创建方式 2. 数据库命名规范 二. 创建表 1. 基本用法 2. 数据表命名规范 3. 字段命名规范 三. 删除表 一.创建数据库 1. 创建方式 在第二章中我们讲了如何 ...

  8. ODPS SQL <for 数据操作语言DML>

    基本操作: 查询: SELECT [ALL | DISTINCT] select_expr, select_expr, ... FROM table_reference [WHERE where_co ...

  9. MySQL SQL DLL (数据定义语言)

    CREATE CREATE DATABASE CREATE DATABASE 用于创建数据库 CREATE DATABASE new_database_name; CREATE TABLE CREAT ...

随机推荐

  1. FCC JS基础算法题(4):Title Case a Sentence(句中单词首字母大写)

    题目描述: 确保字符串的每个单词首字母都大写,其余部分小写.像'the'和'of'这样的连接符同理. 算法: function titleCase(str) { // 转小写及分割成数组 var st ...

  2. the implemention of redblack tree

    public class redbalcktree { private class Node{ private int val; private int key; boolean color; //b ...

  3. repeter 控制一行中显示几条内容

    repeter  控制一行中显示几条内容 <asp:Repeater ID="Repeater1" runat="server" DataSourceID ...

  4. Page 对象详解

    Page 对象 由于网页编译后所创建的类由Page派生而来,因此网页可以直接使用Page对象的属性.方法和事件. Page对象的常用属性 1.IsPostBack(bool类型) 获取一个值,该值指示 ...

  5. Vue+WebSocket 实现页面实时刷新长连接

    最近vue项目要做数据实时刷新,折线图每秒重画一次,数据每0.5秒刷新一次,说白了就是实时刷新,因为数据量较大,用定时器估计页面停留一会就会卡死... 与后台人员讨论过后决定使用h5新增的WebSoc ...

  6. UVa839

    这个引用好精髓. #include <iostream> #include <cstring> #include <string> #include <map ...

  7. thinkphp 3.2.1 URL 大小写问题 下面有具体说明

    问题假设方法为/Admin/User/addUser,关闭调试后,再访问时都是全部变成了小写:/admin/user/adduser1.我的APP_DEBUG是关闭的2.程序在win正常,放到linu ...

  8. 我发起了一个 网格计算 协议 开源项目 GridP

    GridP  是   Grid Protocol   的 全称  . 我在 <关于软件产业的两个契机>  https://www.cnblogs.com/KSongKing/p/95319 ...

  9. [蓝桥杯]PREV-7.历届试题_连号区间数

    问题描述 小明这些天一直在思考这样一个奇怪而有趣的问题: 在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递增 ...

  10. 图的遍历——DFS(矩形空间)

    首先,这里的图不是指的我们一般所说的图结构,而是大小为M*N的矩形区域(也可以看成是一个矩阵).而关于矩形区域的遍历问题经常出现,如“寻找矩阵中的路径”.“找到矩形区域的某个特殊点”等等之类的题目,在 ...