数据库中drop和delete的区别

数据库中drop和delete的区别,第1张

数据库中drop和delete的区别为:删除不同、 *** 作不同、 *** 作对象不同。

一、删除不同

1、drop:drop主要用于删除数据结构,包括内部的数据内容。

2、delete:delete主要用于删除数据内容,不删除数据结构。

二、 *** 作不同

1、drop:drop *** 作不放到rollbacksegment中,不能回滚, *** 作不触发trigger。

2、delete:delete *** 作会放到rollbacksegement中,在事务提交后生效,执行时触发相应的trigger。

三、 *** 作对象不同

1、drop:drop的 *** 作对象可以是数据库,也可以是数据库中的数据表。

2、delete:delete的 *** 作对象只能是数据库中的数据表。

从一个表中删除数据,使用DELETE语句。从表中删除所有行   

DELETE FROM table_name;

或DELETE FROM table_name;

或DELETE  FROM  Customers 

WHERE   cust_id =  '10000006';  

DELETE不需要列名和通配符,它是删除整行而不是删除列,要删除指定的列,请使用update语句;并且DELETE语句从表中删除行,甚至是删除表中所有行,而不是删除表本身。

如果想删除表中的所有行,可以使用TRUNCATE TABLE语句,完成相同的工作,而速度更快。

扩展资料

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。

参考资料:

 百度百科  sql

删除表用drop语句:drop table tablename;

解释:上面语句的意思就是删除表名为tablename的表。

删除记录用delete语句:delete from tablename  where  username = '123';

解释:上面语句的意思就是删除tablename表中username字段的值为123的所有记录。

备注:drop通常是删除的对象,delete通常删除的是某些特定条件下的记录。

当表中的数据不需要时 则应该删除该数据并释放所占用的空间 删除表中的数据可以使用Delete语句或者Truncate语句 下面分别介绍 一 delete语句 ( )有条件删除 语法格式 delete [from] table_name [where condition]; 如 删除users表中的userid为 的数据 delete from users where userid= ; ( )无条件删除整个表数据 语法格式 delete table_name; 如 删除user表中的所有数据 delete users ; 二 Truncate语句 使用Truncate语句是删除表中的所有记录 语法格式 Truncate [table] table_name; ( )删除所有记录不保留记录占用空间 Truncate [table] table_name [drop storage]; 如 删除users表中的所有数据并不保存占用空间 Truncate table users drop storage; 由于默认使用drop storage关键字 所以可以省略 drop storage; ( )删除所有记录保留记录占用空间 Truncate [table] table_name [reuse storage]; 如 删除users表中的所有数据并保存占用空间 Truncate table users reuse storage; 三 两种删除语句的对比 由于delete语句删除记录时候 记录是逐条删除的 而Truncate 语句删除数据时不产生回退信息 所以如果需要删除大量数据的时候使用delete则占用较多的系统资源 而如果使用Truncate 则会快的多 下面通过实例说明一下 首先建立user表 create table users ( userid varchar ( ) username varchar ( ) userpass varchar ( ) );复制代码 接着插入一条数据 insert into users values( GavinDream ); 使用复制插入方法插入几万条数据 insert into users(userid username userpass) select from users;我插入了 条数据 使用delete删除花费时间为 seconds 然后又插入了二倍的数据 但使用truncate花费时间仅仅为 seconds 如下图所示 lishixinzhi/Article/program/Oracle/201405/30860

删除数据库的sql语句如下:

drop database:数据库名--删除数据库的。

drop table:表名--删除表的。

delete from:表名--where条件--删除数据的。

truncate table:表名--也是删除数据库的。

SQL即结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

SQL语句无论是种类还是数量都是繁多的,很多语句也是经常要用到的,SQL查询语句就是一个典型的例子,无论是高级查询还是低级查询,SQL查询语句的需求是最频繁的。

什么是数据库:

数据库是存放数据的仓库。它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。

当今世界是一个充满着数据的互联网世界,充斥着大量的数据。即这个互联网世界就是数据世界。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。

在SQL数据库中删除记录一般使用Delete语句,下面就将为您介绍SQL中用于删除记录的DELETE语句的语法

DELETE FROM 表名称 WHERE 列名称 = 值

①将数学系全体学生的成绩删除 。

执行语句:

*** 作命令执行结果如下:

②删除刘力教师授课的记录。

执行语句:

*** 作命令执行结果如下:

③删除与课程名“计算机网络”相对应的学生选课信息。

执行语句:

*** 作命令执行结果如下:

④删除课程名为“计算机网络”的课程信息。

执行语句:

执行结果:

扩展资料:

语句没有where语句,所以它将删除所有的记录,因此如果没有使用where的时候,要千万小心。

为了从表中删除一个完整的记录或者行,就直接在"delete from"后面加上表的名字,并且利用where指明符合什么条件的行要删除即可。

以上就是关于数据库中drop和delete的区别全部的内容,包括:数据库中drop和delete的区别、用SQL语句怎么删除表中的所有数据、SQL语言中删除数据库表和删除数据库表中记录分别使用什么命令等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9502137.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存