SQL DELETE 문

SQL DELETE 문

DELETE 문은 WHERE 절의 조건(predicate)을 만족하는 문서를 삭제해요. WHERE 절을 지정하지 않으면 모든 문서가 삭제돼요.

출처: 문서

본문

설정 (Setting)

DELETE 문은 기본적으로 비활성화되어 있어요. SQL에서 DELETE 기능을 활성화하려면 다음 요청을 보내서 구성을 업데이트해야 해요.

PUT _plugins/_query/settings
{
  "transient": {
    "plugins.sql.delete.enabled": "true"
  }
}

문법 (Syntax)

Rule singleDeleteStatement:

예시 (Example)

SQL 질의:

DELETE FROM accounts
WHERE age > 30

Explain:

{
  "size" : 1000,
  "query" : {
    "bool" : {
      "must" : [
        {
          "range" : {
            "age" : {
              "from" : 30,
              "to" : null,
              "include_lower" : false,
              "include_upper" : true,
              "boost" : 1.0
            }
          }
        }
      ],
      "adjust_pure_negative" : true,
      "boost" : 1.0
    }
  },
  "_source" : false
}

질의는 다음 결과를 반환해요.

{
  "schema" : [
    {
      "name" : "deleted_rows",
      "type" : "long"
    }
  ],
  "total" : 1,
  "datarows" : [
    [
      3
    ]
  ],
  "size" : 1,
  "status" : 200
}

datarows 필드는 삭제된 문서의 수를 보여줘요.

더 알아보기 (Learn more)