我有一个名为person的表(包含用户的登录ID)。我正在测试我的应用程序并制作了几个测试用户。所以现在这个表有很多测试用户和一些普通用户。
我想知道如何删除所有测试用户?
使用DELETE login FROM person where login = 'test_user' ;
逐个删除所有用户需要很长时间。
PS:测试用户的名字中不包含测试:/它们只是随机名称。
答案 0 :(得分:5)
您是否有所有测试用户的列表?
如果是这样,您可以进行类似
的查询DELETE FROM person WHERE login IN ('user1', 'user2', 'user3', ...);
修改强>
回应
我有一个有效用户列表,我想删除其余用户。 - Chankey Pathak
使用
DELETE FROM person WHERE login NOT IN ('user1', 'user2', 'user3', ...);
答案 1 :(得分:1)
您可以采用白名单方法:
如果您有要保留的用户列表,但想要删除不在该有效列表中的行,则可以使用:
DELETE FROM person WHERE login NOT IN (<listOfValid>)
如果您将所有有效用户存储在表格中,则可以执行以下操作:
DELETE a FROM person a
LEFT JOIN validpersons b ON a.name = b.name
WHERE b.name IS NULL
答案 2 :(得分:0)
DELETE FROM person where login like '%test%'
这将删除名称中包含test