DDL - Data Definition Language (CREATE, ALTER, DROP)
DML – Data Manipulation Language (SELECT, INSERT, UPDATE, DELETE)
DCL - Data Control Language (GRANT, REVOKE, DENY)
TCL – Transaction Control Language (BEGIN, COMMIT, ROLLBACK)
Команды
USE database; -- выбрать базу
SHOW CREATE TABLE database.table; -- показать DDL CREATE
SHOW PARTITIONS database.table; -- показать партиции в таблице
SHOW PARTITIONS database.table PARTITION(col_partition='YYYY-MM-DD');
Создание таблицы
CREATE [TEMPORARY, EXTERNAL] TABLE database.table
(
name_col_id int
,name_col_name string
)
PARTITIONED BY (p_date date)
STORED AS ORC
TBLPROPERTIES ('orc.compress'='ZLIB');
Создание таблицы из результата запроса
CREATE [TEMPORARY, EXTERNAL] TABLE database.table_new
as
select *
from database.table_old
Работа с текстом
SELECT SUBSTR('1234567890', 2, [5]) -- вырезать часть текста
SELECT TRIM(' 1234567890 ') -- убрать пробелы в начале и конце
SELECT 'Hello' + 'Hello' -- склеить строки
SELECT CONCAT('Hello','+', 'Hello') -- склеить строки
SELECT CONCAT_WS('+', 'Hello', 'Hello') -- вставляем разделитель
SELECT SPLIT('1,2,3,4,5',',') -- строку в массив
Работа с датой
select CURRENT_TIMESTAMP() -- текущее дата и время
select CURRENT_DATE() -- текущее дата
select TO_DATE(CURRENT_TIMESTAMP()) -- дата и время перевести в дату
select DATE_ADD(CURRENT_DATE(), 2) -- к дате + 2 дня
select DATE_SUB(CURRENT_DATE(), 2) -- к дате - 2 дня
select TRUNC(CURRENT_DATE(), 'MM') -- получаем 1 число месяца
SELECT DATE_TRUNC('YYYY', CURRENT_TIMESTAMP())
SELECT DATE_TRUNC('Month', CURRENT_TIMESTAMP())
SELECT DATE_TRUNC('Hour', CURRENT_TIMESTAMP())
SELECT DATE_TRUNC('Minute', CURRENT_TIMESTAMP())
SELECT DATE_TRUNC('month', CURRENT_TIMESTAMP())
select unix_timestamp()