如何删除 table 中除具有特定单词的行之外的所有数据?

How to DELETE all data in a table except for rows with specifc words?

我正在使用 pgadmin4(2.1 版)并且我试图从 table 中删除一些遗留数据而不删除描述中包含特定单词的行?

基本上我正在尝试做这样的事情:

从 schema.table 中删除 WHERE column_description = 所有数据 除了 'specific word'

有什么想法吗?

请务必在尝试任何删除之前备份您的数据。但想法是:

DELETE FROM schema.table
    WHERE column_description IS DISTINCT FROM 'specific word';

这不会删除 NULL 值。如果该列可能有 NULL 个值,您也会希望删除这些值。所以更好的构造是:

DELETE FROM schema.table
    WHERE column_description <> 'specific word';

或者,如果模式可以是描述的 部分 ,请使用 NOT LIKE:

DELETE FROM schema.table
    WHERE column_description NOT LIKE '%specific word%';