1、创建数据库
建一个数据库exchange_platform。
DROP DATABASE IF EXISTS exchange_platform CASCADE;
CREATE DATABASE IF NOT EXISTS exchange_platform; 2、删除数据库
DROP DATABASE IF EXISTS exchange_platform; 3、修改 DBPROPERTIES
ALTER DATABASE exchange_platform
SET DBPROPERTIES ('date'= '2015-12'); 4、修改数据库owner
ALTER DATABASE exchange_platform
SET OWNER USER alice;
数据库owner可以是Inceptor的用户也可以是角色。 5、创建表
5.1、通过定义列建表
-- 将表建在当前数据库中:
DROP TABLE IF EXISTS user_info_tab;
CREATE TABLE user_info_tab (
  name STRING,
  acc_num STRING,
  password STRING,
  citizen_id STRING,
  bank_acc STRING,
  reg_date DATE,
  acc_level STRING
); -- 将表建在指定数据库中:
DROP TABLE IF EXISTS exchange_platform.user_info;
CREATE TABLE exchange_platform.user_info (
  name STRING,
  acc_num STRING,
  password STRING,
  citizen_id STRING,
  bank_acc STRING,
  reg_date DATE,
  acc_level STRING
); -- 建HDFS外表:
DROP TABLE IF EXISTS user_info_tab;
CREATE EXTERNAL TABLE user_info_tab (
  name STRING,
  acc_num STRING,
  password STRING,
  citizen_id STRING,
  bank_acc STRING,
  reg_date DATE,
  acc_level STRING
);
LOAD DATA LOCAL INPATH '/LOCALWORKSPACE/manual-ut/manual_data/manual_crud_tmp/user_info.txt'
OVERWRITE INTO TABLE user_info_tab; 5.2、通过拷贝表定义建表
DROP TABLE IF EXISTS exchange_platform.user_info;
CREATE TABLE IF NOT EXISTS exchange_platform.user_info
LIKE user_info; 5.3、CTAS
--用user_info表做为例子,user_info中含有帐户密码,身份证号码和银行帐户等会影响帐户安全的信息,现在用 CTAS 建一张不包含这些信息的表。
DROP TABLE IF EXISTS nonsecure_user_info ;
CREATE TABLE nonsecure_user_info
AS SELECT name, acc_num, reg_date, acc_level
FROM user_info; 6、删除表
DROP TABLE [IF EXISTS] <table_name>; 7、修改表
7.1 重命名
ALTER TABLE <table_name> RENAME TO <new_table_name>; 7.2 修改或添加TBLPROPERTIES
-- 我们可以用这个语句给表添加和修改自定义的表属性。
ALTER TABLE <table_name> SET TBLPROPERTIES ('<property_name>' = '<property_value>' ... ); 7.3 修改或添加SERDEPROPERTIES
ALTER TABLE <table_name> SET SERDEPROPERTIES ('<property_name>' = '<property_value>' ... ); 7.4 修改外表目录
ALTER TABLE <table_name> SET LOCATION '<new_location>';
-- 将外表指向的HDFS目录改为 <new_location>。注意,执行该操作的用户必须是 <new_location> 的owner 8、清空表
-- TRUNCATE TABLE 清空表或者分区中的数据,但不删除表或分区的元数据。这个操作只能用于托管表,不能用于外表。
8.1 清空表中数据
TRUNCATE TABLE user_info; 8.2 清空指定表中指定分区的数据
TRUNCATE TABLE user_info_part PARTITION (acc_level='A'); 9、增加替换列
9.1 增加列
-- 可以将新的列加入表中,位置在所有列之后,分区之前。
DROP TABLE IF EXISTS test_change;
CREATE TABLE test_change (a INT, b INT, c INT);
-- 在表test_change中添加一个新列d,类型为INT
ALTER TABLE test_change ADD COLUMNS(d INT); 9.2 替换列
DROP TABLE IF EXISTS test_change;
CREATE TABLE test_change (a INT, b INT, c INT);
-- 将test_change中的列由(a INT, b INT, c INT)替换为(a int, b int)起到将列c删除的效果
ALTER TABLE test_change
REPLACE COLUMNS (a INT, b INT); 10、视图
10.1创建视图
DROP VIEW IF EXISTS non_secure_info;
CREATE VIEW non_secure_info AS SELECT name, reg_date, acc_level FROM user_info;
-- 注意:不支持CREATE VIEW AS SELECT … UNION SELECT 10.2 删除视图
DROP VIEW [IF EXISTS] <view_name>; 11、导入数据
-- 将本地数据导入一张表
LOAD DATA LOCAL INPATH '/LOCALWORKSPACE/manualut/manual_data/manual_crud_tmp/user_info_table.txt'
INTO TABLE user_info2; -- 将本地数据导入一张表下的分区
LOAD DATA LOCAL INPATH '/LOCALWORKSPACE/manualut/manual_data/manual_crud_tmp/user_info_table_A.txt'
INTO TABLE partition_user_info
PARTITION (acc_level = 'A'); -- 将HDFS上的数据导入一张表
LOAD DATA INPATH '/manual_crud_hdfs/user_info3/test'
INTO TABLE user_info2; 12、向表中插入数据
-- 一些常见的DML如 UPDATE, DELETE和 INSERT … VALUES只能对ORC事务表、Hyperbase内存表、ES 表使用。
-- 而INSERT … SELECT、SELECT则可以作用于任意类型的表
12.1 向表中插入数据并覆盖原数据
INSERT OVERWRITE TABLE user_info2 SELECT * FROM user_info; 12.2 多次插入
-- 使用一个数据源可以将多个查询结果插入不同表中。语法
FROM user_info 
INSERT INTO TABLE user_name SELECT name n 
INSERT OVERWRITE TABLE user_name_num SELECT name, acc_num ac  
INSERT INTO TABLE user_name_level SELECT name, acc_level; 13、向文件系统中插入数据
-- 写入文件系统使用INSERT语句,但是不同于将数据INSERT进表中有INTO和OVERWRITE两种选项,将数据写入文件系统必须INSERT OVERWRITE。
13.1 将user_info中的内容写入本地某目录下。
INSERT OVERWRITE LOCAL DIRECTORY '/LOCALWORKSPACE/manual-ut/manual_data/user_info2/'
ROW FORMAT DELIMITED FIELDS TERMINATED BY'|'
SELECT * FROM user_info; 13.2 将user_info中的内容写入HDFS上的目录下
INSERT OVERWRITE DIRECTORY '/manual_crud_hdfs/user_info2/'
ROW FORMAT DELIMITED FIELDS TERMINATED BY'|'
SELECT * FROM user_info; 13.3 多插入
--在Inceptor中还可以用一个SQL语句将从一个数据源中检索出来的多个结果插入不同文件和表中。
FROM user_info
INSERT OVERWRITE LOCAL DIRECTORY '/LOCALWORKSPACE/manual-ut/manual_data/user_info4/'SELECT name a
INSERT OVERWRITE DIRECTORY '/manual_crud_hdfs/user_info5/'SELECT password b
INSERT INTO TABLE new_user SELECT name c
INSERT OVERWRITE TABLE user_name SELECT name d; 14、TEXT表
DROP TABLE IF EXISTS employee;
CREATE EXTERNAL TABLE employee (id INT, name STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION '/manual_crud_tmp/employee';
SELECT * FROM employee; 15、CSV表
DROP TABLE IF EXISTS csv_table;
CREATE EXTERNAL TABLE csv_table
(
  col1 STRING,
  col2 STRING,
  col3 STRING
)
STORED AS CSVFILE;
LOAD DATA LOCAL INPATH '/LOCALWORKSPACE/manual-ut/manual_data/manual_crud_tmp/csv1.txt'
OVERWRITE INTO TABLE csv_table; 16、ORC表
SET transaction.type=inceptor;
-- 创建非分区ORC表。
DROP TABLE IF EXISTS ta;
CREATE TABLE ta (name STRING, age INT)
CLUSTERED BY (age) INTO 2 BUCKETS
STORED AS ORC TBLPROPERTIES ("transactional"="true");
-- 创建非分区ORC表。
DROP TABLE IF EXISTS tg;
CREATE TABLE tg (name STRING, gpa DOUBLE) CLUSTERED BY (name) INTO 4 BUCKETS STORED AS ORC
TBLPROPERTIES ("transactional"="true");
-- 创建单值分区ORC表。
DROP TABLE IF EXISTS test;
CREATE TABLE test (a INT, b STRING, c DOUBLE) PARTITIONED BY (date STRING) CLUSTERED BY (c) INTO 8
BUCKETS STORED AS ORC TBLPROPERTIES ("transactional"="true");
-- 创建范围分区ORC表。
DROP TABLE IF EXISTS t5;
CREATE TABLE t5(id INT, value INT) PARTITIONED BY RANGE(amount INT) (
PARTITION less1 VALUES LESS THAN (1),
PARTITION less10 VALUES LESS THAN (10),
PARTITION less100 VALUES LESS THAN (100) )
CLUSTERED BY (id) INTO 5 BUCKETS STORED AS ORC TBLPROPERTIES ("transactional"="true");
-- 桶的个数对事务处理的性能有关键性的影响,我们建议您设置合理的个数,
-- 一般是CPU个数的倍数,并且每个桶平均的大小控制不要超过200MB或者一百万行记录。 17、Holodesk表
--Holodesk普通建表
DROP TABLE IF EXISTS holodeskEmployee;
CREATE TABLE holodeskEmployee(
  ID INT,
  Region STRING,
  Sex VARCHAR(4),
  Department STRING,
  Salary DECIMAL
) STORED AS HOLODESK;

Inceptor常用SQL的更多相关文章

  1. Mysql 常用 SQL 语句集锦

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  2. oracle(sql)基础篇系列(一)——基础select语句、常用sql函数、组函数、分组函数

        花点时间整理下sql基础,温故而知新.文章的demo来自oracle自带的dept,emp,salgrade三张表.解锁scott用户,使用scott用户登录就可以看到自带的表. #使用ora ...

  3. 常用SQL[ORACLE]

        1.常用系统函数 2.常用sql语句 3.一些定义和关键字 4.需要注意点   1.常用系统函数 ↑ --decode decode(column,if_value,value,elseif_ ...

  4. Oracle常用SQL查询(2)

    三.查看数据库的SQL 1 .查看表空间的名称及大小 select  t.tablespace_name,  round ( sum (bytes / ( 1024 * 1024 )), 0 ) ts ...

  5. Oracle常用SQL查询

    一.ORACLE的启动和关闭 1.在单机环境下要想启动或关闭oracle系统必须首先切换到oracle用户,如下: su - oracle a.启动Oracle系统 oracle>svrmgrl ...

  6. Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  7. 50个常用SQL语句

    50个常用SQL语句 Student(S#,Sname,Sage,Ssex) 学生表  S#学号,主键 Course(C#,Cname,T#) 课程表          C#课程号,主键 SC(S#, ...

  8. 测试常用SQL注入语句大全

    转载自Cracer,标题:<渗透常用SQL注入语句大全>,链接http://www.xxxx.com/?p=2226 1.判断有无注入点 整形参数判断 1.直接加' 2.and 1=1 3 ...

  9. oracle sqlplus及常用sql语句

    常用sql语句 有需求才有动力 http://blog.csdn.net/yitian20000/article/details/6256716 常用sql语句 创建表空间:create tables ...

随机推荐

  1. r5 5600H 怎么样 相当于什么水平

    Ryzen 5 5600H是基于Zen 3架构的6核12线程处理器.它具有3.30 GHz的默认频率和4.25GHz的加速频率,带有16MB的L3缓存和3 MB的L2缓存,显卡部分,AMD搭配的Veg ...

  2. netcore.ydal可能是东半球最好ORM框架

    typora-copy-images-to: static ydal 项目框架介绍 可能是东半球最好netcore ORM框架,目前暂时支持mysql.mssql,其核心设计目标是开发迅速.学习简单. ...

  3. 项目API接口鉴权流程总结

    权益需求对接中,公司跟第三方公司合作,有时我们可能作为甲方,提供接口给对方,有时我们也作为乙方,调对方接口,这就需要API使用签名方法(Sign)对接口进行鉴权.每一次请求都需要在请求中包含签名信息, ...

  4. user&group_management.md

    登录shell bin/bash sbin/nologin useradd 的参数     -c  comment 用户的注释性信息     -u UID 指定用户的UID     -g initia ...

  5. Solon rpc 之 SocketD 协议 - 单链接双向RPC模式

    Solon rpc 之 SocketD 协议系列 Solon rpc 之 SocketD 协议 - 概述 Solon rpc 之 SocketD 协议 - 消息上报模式 Solon rpc 之 Soc ...

  6. PHP 自定义 alert 跳转方法

    /** * 跳转方法 * @param $msg * @param null $path * @param null $parent */ public function alert($msg,$pa ...

  7. 【Sphinx】 为Python自动生成文档

    sphinx 前言 Sphinx是一个可以用于Python的自动文档生成工具,可以自动的把docstring转换为文档,并支持多种输出格式包括html,latex,pdf等 开始 建一个存放文档的do ...

  8. 改进你的c#代码的5个技巧(四)

    像每一篇文章一样,我会重复几行.我在我的Core i3 CPU.4GB主内存和Windows 7平台上测试了以下代码.如果你在不同的硬件配置或使用不同的平台,那么你的输出可能会随着我的输出屏幕而变化, ...

  9. ctfhub技能树—web前置技能—http协议—请求方式

    打开靶机环境(每次打开都要30金币,好心疼啊) 题目描述为"请求方式" HTTP的请求方式共有八种 1.OPTIONS 返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向 ...

  10. 开发进阶:Dotnet Core多路径异步终止

    今天用一个简单例子说说异步的多路径终止.我尽可能写得容易理解吧,但今天的内容需要有一定的编程能力.   今天这个话题,来自于最近对gRPC的一些技术研究. 话题本身跟gRPC没有太大关系.应用中,我用 ...