精华内容
下载资源
问答
  • 数据库drop
    万次阅读
    2020-10-28 09:24:21

    DROP TABLE IF EXISTS
    创建表之前判断表是否存在,如果存在则删除已有表

    更多相关内容
  • 在mysql中,我们可以使用DROP DATABASE来删除数据库,并且数据库中所有表也随之删除。本文通过实例向各位码农介绍DROP DATABASE的使用方法,需要的朋友可以参考下
  • 数据库 drop,delete与truncate的区别

    千次阅读 2021-08-17 10:53:39
    drop直接删掉表; truncate删除的是表中的数据,再插入数据时自增长的数据id又重新从1开始; delete删除表中数据,可以在后面添加where字句。 (1) DELETE语句执行删除操作的过程是每次从表中删除一行,并且同时将...

    这里写自定义目录标题


    drop直接删掉表;

    truncate删除的是表中的数据,再插入数据时自增长的数据id又重新从1开始;

    delete删除表中数据,可以在后面添加where字句。

    (1) DELETE语句执行删除操作的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。

    (2) 表和索引所占空间。当表被TRUNCATE 后,这个表和索引所占用的空间会恢复到初始大小,而DELETE操作不会减少表或索引所占用的空间。drop语句将表所占用的空间全释放掉。

    (3) 一般而言,drop > truncate >delete

    (4) 应用范围。TRUNCATE 只能对TABLE;DELETE可以是table和view

    (5) TRUNCATE 和DELETE只删除数据,而DROP则删除整个表(结构和数据)。

    (6) truncate与不带where的delete :只删除数据,而不删除表的结构(定义)drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger)索引(index);依赖于该表的存储过程/函数将被保留,但其状态会变为:invalid。

    (7) delete语句为DML(data maintain Language),这个操作会被放到 rollback segment中,事务提交后才生效。如果有相应的 tigger,执行的时候将被触发。

    (8) truncate、drop是DLL(data definelanguage),操作立即生效,原数据不放到 rollback segment中,不能回滚

    (9) 在没有备份情况下,谨慎使用 drop 与 truncate。要删除部分数据行采用delete且注意结合where来约束影响范围。回滚段要足够大。要删除表用drop;若想保留表而将表中数据删除,如果于事务无关,用truncate即可实现。如果和事务有关,或老师想触发trigger,还是用delete。

    (10) Truncate table 表名 速度快,而且效率高,因为:truncatetable 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATETABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。

    (11) TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用 DELETE。如果要删除表定义及其数据,请使用 DROP TABLE 语句。

    (12)对于由 FOREIGN KEY 约束引用的表,不能使用 TRUNCATETABLE,而应使用不带 WHERE 子句的 DELETE 语句。由于 TRUNCATE TABLE 不记录在日志中,所以它不能激活触发器。

    内容参考自公众号学掌门(原创小博老师)

    展开全文
  • 恢复oracle数据库DROP表误删除的数据

    千次阅读 2022-04-26 18:41:15
    数据恢复方法的原理是因为oracle数据库在删除表时会将删除信息存放于某虚拟“回收站”中而非直接清空,再此种状态下数据库标记该表的数据库为“可以复写”,所以在该块未被重新使用前依然可以恢复数据。该方法多用于...

    数据恢复方法的原理是因为oracle数据库在删除表时会将删除信息存放于某虚拟“回收站”中而非直接清空,再此种状态下数据库标记该表的数据库为“可以复写”,所以在该块未被重新使用前依然可以恢复数据。该方法多用于drop删除。

    首先需要查询user_table视图找到被删除的表:

    · select table_name,dropped from user_tables

    · select object_name,original_name,type,droptime from user_recyclebin

    注意此时的表名称已经被重新命名,table_name和object_name就是回收站中的存放表名。

    (1)如果管理员此时可以明确原表的名称或者原表只DROP过一次表,执行如下sql:

            flashback table 原表名 to before drop;

    (2)如果不知道原表名称或者曾经DROP过多次表,可以直接按照回收站中的表名称将数据恢复,执行如下sql:

    flashback table "回收站中的表名(如:Bin$DSbdfd4rdfdfdfegdfsf==$0)" to before drop rename to 新表名;

    可以通过以上两种方式恢复数据。

    展开全文
  • GBase8s数据库DROP FUNCTION 语句

    千次阅读 2021-12-30 14:58:17
    使用 DROP FUNCTION 语句可从数据库中除去用户定义的函数。 用法 删除用户定义的函数会从数据库中除去函数的文本和可执行的版本。(请确保在数据库外保留一个函数文本副本,以防您在删除此函数后需要重建它。) ...

    使用 DROP FUNCTION 语句可从数据库中除去用户定义的函数。

    用法

    删除用户定义的函数会从数据库中除去函数的文本和可执行的版本。(请确保在数据库外保留一个函数文本副本,以防您在删除此函数后需要重建它。)

    如果您不知道 UDR 是用户定义的函数还是用户定义的过程,则可以通过使用 DROP ROUTINE语句删除 UDR 。

    要使用 DROP FUNCTION 语句,您必须是此用户定义函数的所有者(并持有数据库上的 Resource权限)或者具有 DBA 权限。您还必须持有编写该 UDR 的程序语言的 Usage 权限。要删除外部

    用户定义的函数,另见 删除外部例程。

    您不能使用 DROP ROUTINE 、DROP FUNCTION 或 DROP PROCEDURE 语句删除受保护的例程。有关受保护例程的更多信息,请参阅 《GBase 8s SQL 指南:参考》 系统目录表sysprocedures 的描述。

    您无法从相同的 SPL 函数内删除 SPL 函数。如果函数定义声明了一个指定的名称,则 GBase 8s 可通过它的 specific name 来解析函数,如果在此语句中使用指定的名称,您还必须使用关键字 SPECIFIC,如下例所示:

    DROP SPECIFIC FUNCTION compare_point;

    否则,如果 function 名称在数据库中不唯一,则您必须指定足够的 parameter_type 信息来明确名称 。如果使用参数数据类型标识用户定义的函数,则它们跟在函数名后面,如下例所示:

    DROP FUNCTION compare (int, int);

    如果数据库服务器不能解析名义模糊的函数名称(该函数名称的特征符与另一函数的特征符只在未命名的 ROW 类型参数中不同),则数据库服务器返回错误。(当定义了含义模糊的 function

    后,数据库服务器不能预期此错误。)

    如果您包含了可选的 IF EXISTS 关键字,则如果数据库服务器在当前数据库中没有找到与 DROPFUNCTION 语句指定的相符合的函数则数据库不采取任何操作(而不是发出错误)。

    确定函数是否存在

    在您尝试删除用户定义函数之前,可以通过查询系统目录来检查此函数是否在数据库中存在。以下

    示例中,SELECT 语句从 sysprodures 表中检索标识为 MyFunction 的任何例程:

    SELECT * FROM sysprocedures WHERE procname = MyFunction;

    如果此查询返回一行,则名为 MyFunction 的 UDR 注册在当前数据库中。

    如果此查询没有返回行,则您不需发出 DROP FUNCTION 语句,但是您可能希望验证 WHERE

    子句指定的名称是否正确,以及您是否连接到正确的数据库。

    如果此查询返回多行,则在当前数据库中重载例程 MyFunction ,并且您需要检查

    MyFunction 例程的属性以确定它们中的哪些(如果有)需要通过 DROP FUNCTION 语句注销。

    示例

    大多数函数可以使用以下类似的 SQL 语句来删除:

    DROP FUNCTION best_month;

    然而,如果您有多个相同名称的函数,则通过函数重载,DROP FUNCTION 以及必须指定函数的

    特定名称(如果有)或参数列表来唯一标识它。例如,superstores_demo 数据库有两个使用以下

    参数创建的 last_contact 函数:

    CREATE FUNCTION last_contact(cust_name name_t) ...   和  CREATE FUNCTION last_contact(c_num INT) ...

    要删除第二个函数,使用以下语句:

    DROP FUNCTION last_contact(INT);

    如果使用指定的名称 last_cname_contact 和 last_cnum_contac 创建了上述函数,则删除其中的

    第二个函数,发出以下语句:

    DROP SPECIFIC FUNCTION last_cnum_contact;

    现有函数的详细信息可以在 sysprocedures 系统目录表中找到,如下所示的 SQL 查询:

    SELECT procname, specificname, paramtypes FROM sysprocedures ; 

     

    展开全文
  • GBase8s数据库DROP DATABASE 语句

    千次阅读 2021-12-30 14:51:45
    使用 DROP DATABASE 语句删除整个数据库,包括系统目录表、对象和数据。 用法 DROP DATABASE 语句是 ANSI/ISO 标准的扩展,该标准没有提供毁坏数据库的语法。 以下语句删除 stores_demo 数据库DROP ...
  • 数据库 drop、truncate和delete简述

    千次阅读 2020-10-12 09:59:49
    1 drop语句删除表结构及所有数据,并将表所占用的空间全部释放。 2 TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关...
  • 数据库drop、truncate和delete的用法

    千次阅读 2017-12-07 08:49:15
    一、SQL中的语法  1、drop table 表名称 eg: drop table dbo.Sys_Test  2、truncate table 表名称 eg: truncate table dbo.Sys_Test   3、delete from 表名
  • MySQL删除数据库DROP DATABASE语句)

    千次阅读 2020-11-13 15:48:10
    在MySQL中,当需要删除已创建的数据库时,可以使用DROP DATABASE语句。其语法格式为: DROP DATABASE [ IF EXISTS ] <数据库名> 语法说明如下: <数据库名>:指定要删除的数据库名。 IF EXISTS:...
  • 数据库中delete和drop的区别

    万次阅读 2020-04-25 19:24:33
    delete:作用于数据上,即对数据进行删除,不...drop:可对数据库、表以及字段进行修改,操作涉及修改结构。 例: 对数据库drop database xscj;删除学生成绩数据库。 对表:drop table STU;删除学生表。 对字段:al...
  • MySQL如何删除数据库

    千次阅读 2021-03-04 01:46:55
    MySQL删除数据库的方法:1、使用drop命令删除数据库,代码为【drop database ;...MySQL删除数据库的方法:1、drop 命令删除数据库drop 命令格式:drop database ;例如删除名为 RUNOOB 的数据库:mysql> drop da...
  • Navicat premium在Mysql下对基本表的定义、修改和删除。 继Sql pro崩溃后,又学习:writing_hand:
  • SqlServer数据库DROP TABLE IF EXISTS语句

    万次阅读 2018-08-17 11:11:46
    近日碰到SqlServer数据库版本不一致,执行建表脚本时DROP TABLE IF EXISTS语法的小问题,自己做个记录便于后续查看。 在SqlServer2016版本及更高版本,建表前判断表是否存在,可以使用: DROP TABLE IF EXISTS ...
  • 数据库删除语句drop和delete和truncate

    千次阅读 2020-03-02 21:30:31
    drop:用于删除数据库drop database 数据库名称)、删除数据表( use 数据库名称 drop table 数据表1名称,数据表2名)或删除数据表字段(use 数据库名称 alter table 数据表名称 drop column 字段名(列名称))...
  • cannot drop procedure because it is currently in use sybase 数据库执行存储过程异常结束后,需要drop掉再重新编译,但是发现drop不了,报正在使用中。 除了重启数据库,还有其他方法吗?改状态什么的
  • 从删除内容上区分: truncate和 delete只删除数据不删除表的结构(定义) drop语句将删除表的结构、被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为invalid状态....
  • 主要用来对数据库的数据进行一些操作。 DML 语句都是显式提交,执行完之后,处理的数据,都会放在回滚段中(除了 SELECT 语句),等待用户进行提交(COMMIT)或者回滚 (ROLLBACK),当用户执行 COMMIT / ROLLBACK ...
  • drop表查询:select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recyclebin;恢复drop掉的表: (person=表名)flashback table person to before drop;
  • 删除数据库的时候就报这个错,OEA-00604 递归SQL级别1…… 我截了图了,大家帮我看一下。 哇靠 上传不上图片 报错如下 ORA-00604: 递归 SQL 级别 1 出现错误 ORA-00942: 表或视图不存在 ORA-06512:在...
  • sql数据库中的 delete 与drop的区别

    万次阅读 多人点赞 2019-07-16 15:53:44
    数据库中的delete 与drop的区别, 从下面的例子开始: delete : delete from 表名 where 条件 drop : alter table 表名 drop 字段 drop table 表 有的同学从从上面的例子,可以看出来, delete 删除的是 数据...
  • 在 MySQL中,当需要删除已创建的数据库时,可以使用 DROP DATABASE 语句。其语法格式为: DROP DATABASE [ IF EXISTS ] <数据库名> 语法说明如下: <数据库名>:指定要删除的数据库名。 IF EXISTS:...
  • mysql drop database命令用于删除一个数据库,如果试图使用drop database命令删除一个不存在的数据库,那么那么你会收到此错误:ERROR 1008 (HY000): Can’t drop database ‘tutorial_database’; database doesn’...
  • 数据库drop、truncate、delete三种删除的区别

    万次阅读 多人点赞 2019-03-01 14:50:02
    dropdrop table 表名 删除内容和定义,并释放空间。执行drop语句,将使此表的结构一起删除。 truncate (清空表中的数据):truncate table 表名 删除内容、释放空间但不删除定义(也就是保留表的数据结构)。与...
  • DROP TABLE在不同数据库中的写法整理 1,MySql中 DROP TABLE IF EXISTS [table_name] 2,Oracle中: BEGIN EXECUTE IMMEDIATE 'DROP TABLE [table_name]'; EXCEPTION WHEN OTHERS THEN NULL; END; 3,在Sql ...
  • [Hive] drop database删除数据库

    千次阅读 2018-05-15 17:07:44
    删除一个数据库,默认情况下,hive不允许删除含有表的数据库,要先将数据库中的表清空才能drop,否则会报错 hive&gt; drop database users; FAILED: Execution Error, return code 1 from org.apache.hadoop....
  • SQL DROP 语句

    千次阅读 2021-03-13 15:32:43
    http://www.cnblogs.com/troywithblog/archive/2013/05/24/3096515.html通过使用 DROP 语句,可以轻松地删除索引、表和数据库。SQL DROP INDEX 语句我们可以使用 DROP INDEX 命令删除表格中的索引。用于 Microsoft ...
  • PG数据库约束

    千次阅读 2021-11-28 16:57:57
    DROP CONSTRAINT <cons_name>; 添加主键约束 ALTER TABLE <table_name> ADD PRIMARY KEY (col_name); 非空约束 删除非空约束 ALTER TABLE <table_name> ALTER COLUMN <col_name> ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 523,823
精华内容 209,529
关键字:

数据库drop

友情链接: 3.rar