DELETE Statement

The DELETE statement can be executed to delete rows that satisfy the WHERE clause from a specified table. If the WHERE clause does not exist, all rows in the table will be deleted and only the table structure is retained.

Syntax

DELETE FROM table_name 
       [WHERE condition];

Parameter Description

  • table_name

    Specifies the name (optionally schema-qualified) of the target table.

    Value range: an existing table name

  • condition

    Specifies an expression that returns a Boolean value. Only rows for which this expression returns true will be deleted.

Examples

Create the customer_t1_bak table whose structure and data are the same as those of the customer_t1 table.

openGauss=# CREATE TABLE customer_t1_bak AS TABLE customer_t1;
INSERT 0 9

The customer_t1_bak table is created, and the data in the table is as follows:

openGauss=# SELECT * FROM customer_t1_bak;
 c_customer_sk | c_customer_id | c_first_name | c_last_name | amount
---------------+---------------+--------------+-------------+--------
          3869 | hello         | Grace        |             |   1000
          3869 | hello         | Grace        |             |   1000
          3869 |               | Grace        |             |
          3869 | hello         |              |             |
          3869 | hello         |              |             |
               |               |              |             |
          6985 | maps          | Joes         |             |   2200
          9976 | world         | James        |             |   5000
          4421 | Admin         | Local        |             |   3000
(9 rows)

Run the following statement to delete the employee whose c_customer_sk is set to 3869 from the customer_t1_bak table:

openGauss=# DELETE FROM customer_t1_bak WHERE c_customer_sk = 3869;
DELETE 5

The following information is displayed, indicating that the row where c_customer_sk is set to 3869 has been deleted.

openGauss=# SELECT * FROM customer_t1_bak;
 c_customer_sk | c_customer_id | c_first_name | c_last_name | amount
---------------+---------------+--------------+-------------+--------
               |               |              |             |
          6985 | maps          | Joes         |             |   2200
          9976 | world         | James        |             |   5000
          4421 | Admin         | Local        |             |   3000
(4 rows)

If the WHERE statement is not specified, the data of the entire table is deleted by default, and only the table structure is retained.

openGauss=# DELETE FROM customer_t1_bak;
DELETE 4

The result is as follows:

openGauss=# SELECT * FROM customer_t1_bak;
 c_customer_sk | c_customer_id | c_first_name | c_last_name | amount
---------------+---------------+--------------+-------------+--------
(0 rows)
Feedback
编组 3备份
    openGauss 2024-05-07 00:46:52
    cancel