千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:南京千锋IT培训  >  技术干货  >  sql清除表中数据,表结构为什么还在?

sql清除表中数据,表结构为什么还在?

来源:千锋教育
发布人:xqq
时间: 2023-10-17 10:50:30

一、sql清除表中数据,表结构为什么还在

一般的数据库原理是将表结构作为元数据单独存放的,而表实际存储的数据是放在另外一个地方,数据库系统保存两者的对应关系。这样就能用sql语句查询到对应的数据,一般清空数据和删除表是分开的两个操作。

就ORACLE数据库,简单的来说

清除数据你可能用的是delete或者truncate来,而不是drop,drop是直接删除表,delete和truncate是删除表中的数据

比如delete:

delete from a 此法是删除表a中的数据,一条一条删除的;

truncate table a 此法也是删除表a中的数据,但是不是一条一条的删;

drop table a 此法是直接删除表a,包括表中的数据及数据结构。

延伸阅读:

二、SQL TRUNCATE TABLE清空表语句

SQL TRUNCATE TABLE 语句用来删除表中的所有记录,也即清空表,它类似于不带 WHERE 子句的 DELETE FROM 语句。

TRUNCATE TABLE 和 DROP TABLE

DROP TABLE 用来删除表,包括删除该表的数据、结构、索引、触发器、约束等所有信息。一旦使用 DROP TABLE 删除了表,则该表的所有信息都将丢失,该表再也无法使用了。如果您希望存储一些数据,就只能重新创建该表。
TRUNCATE TABLE 仅仅删除表的所有记录,表的结构、索引、触发器、约束等将被保留,后续仍然可以使用该表。

TRUNCATE TABLE 和 DELETE FROM

不带 WHERE 子句的 DELETE FROM 语句同样可以达到清空表的效果,但是 TRUNCATE TABLE 使用的系统资源和日志资源更少,因此比 DELETE FROM 更加快速。
DELETE FROM 语句每删除一行,都会在事务日志中为所删除的行记录一项。TRUNCATE TABLE 通过释放表中数据所用的数据页来删除数据,只会在事务日志中记录页的释放。
此外,TRUNCATE TABLE 还能重置具有自动递增(AUTO_INCREMENT)属性的字段,而 DELETE FROM 却不具备该功能。

总结

当您不再需要该表时,使用 DROP TABLE;当您仍要保留该表,只是想删除所有记录时,使用 TRUNCATE TABLE;当你要删除部分记录时,使用带有 WHERE 子句的 DELETE FROM。
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

猫(Modem)和路由器有什么区别?

2023-10-17

天使投资、VC 以及 PE 的区别是什么?

2023-10-17

从按键到响应,键盘的底层原理是什么?

2023-10-17

最新文章NEW

同样表示错误,mistake和error有什么区别?

2023-10-17

服务器和电脑主机有什么区别?

2023-10-17

为什么HashMap是线程不安全的?

2023-10-17

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>