...
Section | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
INSERT SELECT
...
insert_select_stmt:
Code Block |
---|
insert_select_stmt ::= 'INSERT INTO' table_name ( '(' insert_column_list ')' )? select_stmt |
...
Ui text box | ||
---|---|---|
| ||
5.5 부터 제공되는 기능입니다. |
update_stmt:
update_expr_list:
update_expr:
Code Block |
---|
update_stmt ::= 'UPDATE' table_name ( 'METADATA' )? 'SET' update_expr_list 'WHERE' primary_key_column '=' value update_expr_list ::= update_expr ( ',' update_expr)* update_expr ::= column '=' value |
...
Ui text box | ||
---|---|---|
| ||
TAGDATA 테이블의 메타데이터는 INSERT ON DUPLICATE KEY UPDATE 를 통해 입력/수정할 수 없다. |
DELETE
...
delete_stmt: < delete tag rollup 추가 필요 >
time_unit:
Code Block |
---|
delete_stmt ::= 'DELETE FROM' table_name ( 'OLDEST' number 'ROWS' | 'EXCEPT' number ( 'ROWS' | time_unit ) | 'BEFORE' datetime_expression )? 'NO WAIT'? time_unit ::= 'DURATION' number time_unit ( ( 'BEFORE' | 'AFTER' ) number time_unit )? |
마크베이스에서의 DELETE BEFORE 구문은 로그 테이블에 테이블, Tag 테이블, Rollup table에 대해서 수행 가능하다. 또한, 중간의 임의 위치에 있는 데이터를 삭제할 수 없으며, 임의의 위치부터 연속적으로 마지막(가장 오래된 로그) 레코드까지 지울 수 있도록 구현되었다.
이는 로그 데이터의 특성을 살린 정책으로서 한번 입력되면 수정이 없고, 공간 확보를 위해 파일을 삭제하는 행위를 DB 형식으로 표현한 것이다.
DURATION, OLDEST, EXCEPT 구문은 TAG 및 Rollup 테이블에 대해서는 사용할 수 없다.
Code Block | ||||
---|---|---|---|---|
| ||||
-- 모두 삭제하라. DELETE FROM devices; -- 가장 오래된 마지막 N건을 삭제하라. DELETE FROM devices OLDEST N ROWS; -- 최근 N건을 제외하고 모두 삭제하라. DELETE FROM devices EXCEPT N ROWS; -- 지금부터 N일치를 남기고 모두 삭제하라. DELETE FROM devices EXCEPT N DAY; -- 2014년 6월 1일 이전의 데이터를 모두 삭제하라. DELETE FROM devices BEFORE TO_DATE('2014-06-01', 'YYYY-MM-DD'); -- tag 데이터의 시간 기준 삭제 DELETE FROM tag BEFORE TO_DATE('2014-06-01', 'YYYY-MM-DD'); -- tag rollup 데이터의 시간 기준 삭제 DELETE FROM tag ROLLUP BEFORE TO_DATE('2014-06-01', 'YYYY-MM-DD'); |
...
DELETE WHERE
...
delete_where_stmt:
Code Block | ||||
---|---|---|---|---|
| ||||
delete_where_stmt ::= 'DELETE FROM' table_name 'WHERE' column_name '=' value |
...
LOAD DATA INFILE
...
load_data_infile_stmt:
Code Block | ||||
---|---|---|---|---|
| ||||
load_data_infile_stmt: 'LOAD DATA INFILE' file_name 'INTO TABLE' table_name ( 'TABLESPACE' tbs_name )? ( 'AUTO' ( 'BULKLOAD' | 'HEADUSE' | 'HEADUSE_ESCAPE' ) )? ( ( 'FIELDS' | 'COLUMNS' ) ( 'TERMINATED BY' char )? ( 'ENCLOSED BY' char )? )? ( 'TRIM' ( 'ON' | 'OFF' ) )? ( 'IGNORE' number ( 'LINES' | 'ROWS' ) )? ( 'MAX_LINE_LENGTH' number )? ( 'ENCODED BY' coding_name )? ( 'ON ERROR' ( 'STOP' | 'IGNORE' ) )? |
...