drop table if exists test_table; create table test_table( ... ); 或者在重新创建之前删除整个“基准测试”schema: 1 2 3 drop schema if exists benchmark cascade; create schema ... create ... 在其他情况下,尤其是在处理生产、多个系统、多人时——最好将
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 $$;
RESTRICT是默认值,如果存在其他依赖于该约束的对象,需要使用CASCADE执行级联删除。例如,外键约束依赖于被引用字段上的唯一约束或主键约束。 删除产品表name字段上的唯一约束 test=#ALTERTABLEproductsDROPCONSTRAINTproducts_name_uk;ALTERTABLEtest=# \d products;Table"hr.products"Column|Type|Collation|Nullable|Default--...
DROPDATABASEIFEXISTSmy_database; 三、删除表 在PostgreSQL中,您可以通过以下命令删除一个表: DROPTABLE[IFEXISTS]table_name[CASCADE]; 其中,table_name是要删除的表名。IF EXISTS选项是可选的,如果表不存在,则不会产生错误。CASCADE选项表示级联删除,即删除表的同时删除与该表关联的所有索引、约束等。 例如,要...
DROP TABLE用于彻底删除表,包括表结构和数据。 语法 DROPTABLE[IFEXISTS]table_name[CASCADE|RESTRICT]; 1. 示例:删除表 删除orders表: DROPTABLEIFEXISTSorders; 1. 注意事项 不可恢复:DROP TABLE会删除表定义和所有数据,且无法直接恢复。 依赖关系:如果表被其他对象引用,必须使用CASCADE,否则操作会失败。
create table if not exists 新表 (like 旧表 including indexes including comments including defaults); 删除表 drop table if exists "t_template" cascade; 查询注释 SELECT a.attname as "字段名", col_description(a.attrelid,a.attnum) as "注释", ...
ADD table_constraint [ NOT VALID ] ADD table_constraint_using_index ALTER CONSTRAINT constraint_name [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ] VALIDATE CONSTRAINT constraint_name DROP CONSTRAINT [ IF EXISTS ] constraint_name [ RESTRICT | CASCADE ] ...
DROP ROLE删除一个数据库角色。DROP ROLE [ IF EXISTS ] _name_ [, ...]DROP RULE删除一个重写规则。DROP RULE name ON relation [ CASCADE | RESTRICT ]DROP SCHEMA删除一个模式。DROP SCHEMA name [, ...] [ CASCADE | RESTRICT ]DROP SEQUENCE删除一个序列。
DROP OPERATOR CLASS 删除一个操作符表。 DROP OPERATOR CLASS name USING index_method [ CASCADE | RESTRICT ] DROP ROLE 删除一个数据库角色。 DROP ROLE [ IF EXISTS ] _name_ [, ...] DROP RULE 删除一个重写规则。 DROP RULE name ON relation [ CASCADE | RESTRICT ] ...
do $$ declare r record;begin for r in (select tablename from pg_tables where schemaname = 'my-schema-name') loop execute 'drop table if exists ' || quote_ident(r.tablename) || ' cascade'; end loop;end $$;This query works by listing out all the tables in the given schema and...