删库跑路,你学 “废” 了吗?

要删除 PostgreSQL 中指定数据库(例如 person)中的所有表,可以使用以下方法。

慎重操作,删除数据库是“高危险”行为,请再三思索!!!以下方式推荐个人开发环境尝试。

方法一:使用 SQL 语句逐个删除所有表

你可以先查询出该数据库中所有的表名,然后生成对应的 DROP TABLE 语句并执行:

-- 进入  数据库后执行
DO $$ 
DECLARE
    r RECORD;
BEGIN
    FOR r IN (SELECT tablename FROM pg_tables WHERE schemaname = 'public') LOOP
        EXECUTE 'DROP TABLE IF EXISTS ' || quote_ident(r.tablename) || ' CASCADE;';
    END LOOP;
END $$;

方法二:清空整个模式(推荐)

如果你只想快速清空 public 模式下的所有表:

DROP SCHEMA public CASCADE;
CREATE SCHEMA public;

前提:你需要先连接到 person 数据库才能执行上述操作。

如何连接到指定数据库执行

你也可以通过命令行或客户端工具连接到 person 数据库后再执行上面的 SQL

psql -d person -U your_username

然后在 psql 命令行中输入上述 SQL


⚠️ 警告:这些操作会永久删除数据,请务必提前备份重要数据。

你可能感兴趣的:(DB/数据库,数据库,pgsql,postgres,PostgreSQL,delete)