SQL命令 DROP TABLE 删除表及其数据(可选)。...描述 DROP TABLE命令删除一个表及其对应的持久化类定义。如果该表是其架构中的最后一项,则删除该表也会删除该架构及其相应的持久化类包。...权限 DROP TABLE命令是特权操作。用户必须具有%DROP_TABLE管理权限才能执行DROP TABLE。否则将导致SQLCODE-99错误,因为%msg用户没有%DROP_TABLE权限。...如果拥有适当的授予权限,则可以使用GRANT命令分配%DROP_TABLE权限。 即使DROP TABLE操作同时删除了表和表数据,用户也不必具有指定表的DELETE OBJECT权限。...由于这些原因,通常建议在删除表之前使用REVOKE命令撤消表中的对象权限。 包含数据的表 默认情况下,DROP TABLE删除表定义和表数据。
v_cnt Number; begin select count(*) into v_cnt from user_tables where table_name...= upper(TAB_NAME_IN); if v_cnt>0 then execute immediate 'drop table ' || TAB_NAME_IN...||' purge'; end If; end DROPEXITSTABS; call DROPEXITSTABS('ZYWSPT-ZYWSSJJ'); create table
引言 DROP TABLE 和 TRUNCATE TABLE 都能清空表数据,但它们的机制和影响完全不同。本文帮你理清区别,避免误用。1....DROP TABLE:删除整个表DROP TABLE users;结果:表结构 + 数据全部删除影响:无法恢复,外键约束也会被破坏适用场景:彻底移除不再需要的表2....TRUNCATE TABLE:清空表数据TRUNCATE TABLE users;结果:只删除所有数据,保留表结构机制:直接释放数据页,比 DELETE FROM 快注意:自增 ID 会重置为 13....对比总结特性DROP TABLETRUNCATE TABLE删除数据✅✅删除表结构✅❌可恢复❌(除非有备份)❌速度快极快重置自增ID✅✅触发器不触发不触发小结想删表用 DROP TABLE想清空数据保留结构用...TRUNCATE TABLE生产环境慎用,建议先备份 关键词:DROP TABLE、TRUNCATE TABLE、清空表、删除表区别
2)表本身(非表数据)的基本操作: CREATE TABLE 表名 (列_1_名 列_1_类型 列_1_细节, 列_2_名 列_2_类型 列_2_细节, ... );...例如:create table student(id int not null,name char(10),age int); 例如:CREATE TABLE t (id INT NOT NULL,...NOT NULL, first_name CHAR(30) NOT NULL, d DATE NOT NULL); show tables;显示当前数据库中的Tables describe table_name...;显示table各字段信息 DROP TABLE t; (删除表) DROP TABLE t1, t2, t3; ALTER TABLE t ADD x INT NOT NULL;(增加一列) ALTER...TABLE t DROP x; (删除y) 3)表数据的基本操作: 添加纪录: INSERT INTO 表名 (列_list) VALUES (值_list); 例如: INSERT INTO
SQL命令 DROP FUNCTION 删除函数 大纲 DROP FUNCTION name [ FROM className ] 参数 name - 要删除的函数的名称。名称是一个标识符。...如果删除函数会导致空类,则DROP函数也会删除该类。 描述 DROP Function命令用于删除函数。当删除某个函数时, IRIS会将其从已授予该函数的所有用户和角色中撤消,并将其从数据库中删除。...要删除函数,必须拥有由GRANT命令指定的%DROP_Function管理权限。否则,系统会生成SQLCODE-99错误(权限冲突)。 如果包含函数定义的类定义是已部署的类,则不能删除该函数。...如果指定的函数不存在,DROP Function将生成SQLCODE-362错误。如果指定的类不存在,DROP函数将生成SQLCODE-360错误。...如果指定的函数可以引用两个或多个函数,DROP Function将生成SQLCODE-361错误;必须指定一个className来解决此歧义。
PostgreSQL 使用 DROP TABLE 语句来删除表格,包含表格数据、规则、触发器等,所以删除表格要慎重,删除后所有信息就消失了。...语法 DROP TABLE 语法格式如下: DROP TABLE table_name; 实例 上一章节中我们创建了 COMPANY 和 DEPARTMENT 两个表格,我们可以先使用 \d 命令来查看表格是否创建成功...Schema | Name | Type | Owner --------+------------+-------+---------- public | company | table...| postgres public | department | table | postgres (2 rows) 从以上结果可以看出,我们表格已经创建成功,接下来我们删除这两个表格: runoobdb...=# drop table department, company; DROP TABLE 再使用 \d 命令来查看就找不到表格了: testdb=# \d Did not find any relations
SQL命令 DROP USER 删除用户帐户。 大纲 DROP USER user-name 参数 user-name 要删除的用户名。 描述 DROP USER命令可删除用户帐户。...权限 DROP USER命令是特权操作。在嵌入式SQL中使用DROP USER之前,必须以具有适当权限的用户身份登录。否则将导致SQLCODE-99错误(特权冲突)。...示例 可以通过下面的语句来删除PSMITH: DROP USER psmith
SQL命令 DROP ROLE 删除角色 大纲 DROP ROLE role-name 参数 role-name - 要删除的角色的名称。名称是一个标识符。角色名称不区分大小写。...描述 DROP ROLE语句删除角色。删除角色时, IRIS会将其从已授予该角色的所有用户和角色中撤消,并将其从数据库中删除。...如果尝试删除不存在(或已被删除)的角色,则DROP ROLE将发出SQLCODE-118错误。 权限 DROP ROLE命令是特权操作。...在嵌入式SQL中使用DROP ROLE之前,至少需要满足以下要求之一: 必须具有%Admin_Secure:USE权限。 该角色的所有者。 已被授予具有管理员选项的角色。...,"创建角色" } /* Use role */ &sql( DROP ROLE BkName ) if SQLCODE=-99 {
SQL命令 DROP VIEW 删除视图 大纲 DROP VIEW view-name [CASCADE | RESTRICT] 参数 view-name 要删除的视图的名称。...描述 DROP VIEW命令删除视图,但不删除基础表或数据。...也可以使用DropView()方法调用来调用拖放视图操作: $SYSTEM.SQL.Schema.DropView(viewname,SQLCODE,%msg) 权限 DROP VIEW命令是特权操作。...如果拥有适当的授予权限,则可以使用GRANT命令分配%DROP_VIEW权限。...如果设置为1(“Yes”),则为不存在的视图和表发出DROP VIEW或DROP TABLE不会执行任何操作,也不会发出错误消息。
SQL命令 DROP METHOD 删除方法 大纲 DROP METHOD name [ FROM className ] 参数 name - 要删除的方法的名称。名称是一个标识符。...如果删除该方法会导致空类,则Drop方法也会删除该类。 描述 DROP METHOD命令可删除方法。删除方法时, IRIS会将其从已授予该方法的所有用户和角色中撤消,并将其从数据库中删除。...要删除方法,必须具有GRANT命令指定的%DROP_METHOD管理权限。如果要尝试删除具有已定义所有者的类的方法,则必须以类所有者的身份登录。否则,系统会生成SQLCODE-99错误(权限冲突)。...如果指定的方法不存在,Drop Method将生成SQLCODE-362错误。如果指定的className不存在,Drop方法将生成SQLCODE-360错误。...使用PROCEDURE关键字定义的方法可以通过DROP方法或DROP PROCEDURE删除。 还可以删除方法,方法是从类定义中移除方法,然后重新编译类,或者删除整个类。
删除查询 大纲 DROP QUERY name [ FROM className ] 参数 name - 要删除的查询的名称。名称是一个标识符。不要指定查询的参数括号。...如果删除查询导致空类,则DROP QUERY也会删除该类。 描述 DROP QUERY命令删除查询。删除查询时, IRIS将从所有已授予该查询的用户和角色中吊销该查询,并将其从数据库中删除。...要删除查询,必须具有GRANT命令指定的%DROP_QUERY管理权限。如果要尝试删除具有已定义所有者的类的查询,则必须以类的所有者身份登录。否则,系统会生成SQLCODE-99错误(权限冲突)。...如果指定的查询不存在,DROP QUERY将生成SQLCODE-362错误。如果指定的类不存在,DROP QUERY将生成SQLCODE-360错误。...如果指定的查询可以引用两个或多个查询,DROP QUERY将生成SQLCODE-361错误;必须指定一个类名来解决此歧义。
SQL命令 DROP TRIGGER 删除触发器 大纲 DROP TRIGGER name [ FROM table ] 参数 name - 要删除的触发器的名称。...FROM table - 可选-要从中删除触发器的表。如果指定了FROM子句,则只在表中搜索命名触发器。如果未指定FROM子句,则在NAME中指定的整个架构中搜索命名触发器。...描述 DROP TRIGGER命令删除触发器。如果要修改现有触发器,则必须先调用DROP TRIGGER删除旧版本的触发器,然后再调用CREATE TRIGGER。...注:DROP TABLE删除与该表关联的所有触发器。 DROP TRIGGER命令是特权操作。用户必须具有%DROP_TRIGGER管理权限才能执行DROP TRIGGER。...如果拥有适当的授予权限,则可以使用GRANT命令分配%DROP_TRIGGER和%ALTER权限。
SQL命令 DROP AGGREGATE 删除用户定义的聚合函数。 大纲 DROP AGGREGATE name 参数 name - 要删除的用户定义聚合函数的名称。...描述 DROP Aggregate命令删除用户定义的聚合函数(UDAF)。使用CREATE Aggregate命令创建用户定义的聚合函数。
大纲 DROP INDEX index-name [ON [TABLE] table-name] DROP INDEX table-name.index-name 参数 index-name - 要删除的索引的名称...权限与锁 DROP INDEX命令是特权操作。用户必须具有%ALTER_TABLE管理权限才能执行DROP INDEX。...否则将导致%msg用户‘name’没有%ALTER_TABLE权限的SQLCODE-99错误。如果拥有适当的授予权限,则可以使用GRANT命令将%ALTER_TABLE权限分配给用户或角色。...可以通过调用%CHECKPRIV命令来确定当前用户是否具有%ALTER特权。可以使用GRANT命令将%ALTER权限分配给指定表。...DROP INDEX语句获取对table-name的表级锁。这可以防止其他进程修改表的数据。此锁在DROP INDEX操作结束时自动释放。
SQL命令 DROP DATABASE 删除数据库(命名空间)。...大纲 DROP DATABASE dbname [RETAIN_FILES] 参数 dbname - 要删除的数据库(命名空间)的名称。...描述 DROP DATABASE命令删除命名空间及其关联的数据库。 指定的dbname是包含相应数据库文件的命名空间和目录的名称。指定dbname作为标识符。命名空间名称不区分大小写。...DROP DATABASE命令是一个特权操作。 在使用DROP DATABASE之前,必须以%Admin_Manage资源的用户身份登录。...不管权限如何,DROP DATABASE都不能用于删除系统命名空间。尝试这样做会导致SQLCODE-342错误。 DROP DATABASE不能用于删除当前正在使用或连接到的命名空间。
删除存储过程 大纲 DROP PROCEDURE procname [ FROM className ] DROP PROC procname [ FROM className ] 参数 procname...如果删除过程导致空类,则DROP PROCEDURE也会删除该类。 描述 DROP PROCEDURE命令删除当前命名空间中的过程。...要删除过程,必须具有GRANT命令指定的%DROP_PROCEDURE管理权限。如果要尝试删除具有已定义所有者的类的过程,则必须以类的所有者身份登录。...如果指定的过程不存在,DROP PROCEDURE将生成SQLCODE-362错误。如果指定的类不存在,DROP PROCEDURE将生成SQLCODE-360错误。...可以使用DROP PROCEDURE删除使用PROCEDURE关键字定义的方法。
SQLite 删除表 SQLite 的 DROP TABLE 语句用来删除表定义及其所有相关数据、索引、触发器、约束和该表的权限规范。...使用此命令时要特别注意,因为一旦一个表被删除,表中所有信息也将永远丢失。 语法 DROP TABLE 语句的基本语法如下。...您可以选择指定带有表名的数据库名称,如下所示: DROP TABLE database_name.table_name; 实例 让我们先确认 COMPANY 表已经存在,然后我们将其从数据库中删除。...sqlite>.tables COMPANY test.COMPANY 这意味着 COMPANY 表已存在数据库中,接下来让我们把它从数据库中删除,如下: sqlite>DROP TABLE...COMPANY; sqlite> 现在,如果尝试 .TABLES 命令,那么将无法找到 COMPANY 表了: sqlite>.tables sqlite> 显示结果为空,意味着已经成功从数据库删除表
我这里类似这样: alter sequence seq_t_new_id RESTART WITH 518500000; 5、低峰期切换表名 ALTER TABLE t RENAME TO t_old;...ALTER TABLE t_new RENAME TO t; 6、再补下数据(如果允许丢失些数据,这一步也可以不用进行) 我们上面最后切换的时候,可能还会有数据不平的情况,我们可以再查下 t_old表最近...7、删除老表 truncate table xxx; drop table xxx; 8、执行完上面的删表操作后,我们看看磁盘空间释放出来没有?...很明显,/data 路径还是占用了87%的空间,我们drop table 完全没卵用。。。
SQL命令 ALTER TABLE 修改表。...{,add-action} [)] | DROP [COLUMN ] drop-column-action {,drop-column-action} | DROP drop-action...DROP只能对单个约束进行操作。 ALTER TABLE DROP关键字和ALTER TABLE DELETE关键字是同义词。...权限和锁 ALTER TABLE命令是特权操作。用户必须具有%ALTER_TABLE管理权限才能执行ALTER TABLE。...要分配所需的管理权限,请使用具有%ALTER_TABLE权限的GRANT命令;这需要适当的授予权限。要分配%ALTER OBJECT权限,可以使用: 具有%ALTER权限的GRANT命令。
SQL命令 TRUNCATE TABLE 从表中删除所有数据并重置计数器。...Imported SQL代码 ImportDDL("IRIS")和Run()方法不支持TRUNCATE TABLE命令。...在这些方法导入的SQL代码文件中发现的TRUNCATE TABLE命令将被忽略。 这些导入方法确实支持DELETE命令。 示例 下面两个动态SQL示例比较了DELETE和TRUNCATE表。...&sql(DROP TABLE SQLUser.MyStudents1) } DHC-APP>d ##class(PHA.TEST.SQLCommand).TruncateTable() CREATE...//&sql(DROP TABLE SQLUser.MyStudents2) }