返回介绍

I. 教程

II. SQL 语言

III. 服务器管理

IV. 客户端接口

V. 服务器端编程

VI. 参考手册

VII. 内部

VIII. 附录

TRUNCATE

发布于 2019-09-30 03:11:48 字数 1133 浏览 952 评论 0 收藏 0

名称

TRUNCATE--清空一个或一组表

语法

TRUNCATE [ TABLE ] name [, ...] [ CASCADE | RESTRICT ]

描述

TRUNCATE 快速地从一堆表中删除所有行。它和在每个表上进行无条件的 DELETE 有同样的效果,不过因为它不做表扫描,因而快得多。在大表上最有用。

参数

name

要清空的表名字(可以有模式修饰)

CASCADE

级联清空所有在该表上有外键引用的表,或者由于 CASCADE 而被添加到组中的表。

RESTRICT

如果其他表在该表上有外键引用则拒绝清空。这是缺省。

注意

只有表的所有者可以 TRUNCATE 它。

如果从其它表有到某个表的外键引用,那么就不能对该表使用 TRUNCATE ,除非这些表在同一个命令中也被清空。在这种情况下检查有效性要求进行表扫描,而 TRUNCATE 并不做这样的事情。CASCADE 选项可以用于级联包含所有依赖表,但是使用此选线必须十分小心,否则可能丢失原本不想丢失的数据。

TRUNCATE 不会运行任何在该表上的 ON DELETE 触发器。

例子

清空 bigtablefattable 表:

TRUNCATE TABLE bigtable, fattable;

清空 othertable 表,并且级联清空所有通过外键约束引用 othertable 的表:

TRUNCATE othertable CASCADE;

兼容性

SQL 标准里没有 TRUNCATE 命令。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文