美文网首页IT修真院_JAVA
2017.11.16 SQL删除语句

2017.11.16 SQL删除语句

作者: f056917 | 来源:发表于2017-11-16 18:40 被阅读0次

SQL的删除语句

大家好,我是IT修真院郑州分院第七期的学员冯亚超,一枚正直纯洁善良的JAVA程序员 今天给大家分享一下,SQL的删除语句.

1.背景介绍

“数据库” ---起源于 20 世经 90 年代,当时美国为了战争的需要,把各种情报收集在一起,存储隐藏在计算机内,叫做 Data Base(DB)现在,一切活动都离不开数据。

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。

“SQL” ----是用于访问和处理数据库的标准的计算机语言,简称结构化查询语言

SQL中的删除语句一共有四种,分别对应不同的功能

2.知识剖析

四种删除语句

delete:

delete from table_name where some_column=some_value

用于删除表中的行

delete from table_name/delete * from table_name;

用于删除表中所有的行,也就是删除表中所有的数据

drop:

drop table table_name;

用于删除整个表,包括表结构

drop database database_name;

用于删除数据库

alter:

alter table table_name drop column column_name;

用于删除表中的列

alter table table_name drop index index_name;

用于删除表中的索引

truncate:

truncate table table_name;

用于删除表内的数据

3.常见问题

四种删除语句中哪些功能是相同的?

哪些功能是不同的?

这几种删除语句的区别?

删除后可以恢复吗?哪些删除是可以恢复的?

4.解决方案

哪些功能是不同的?

1.truncate table table_name 删除表内容释放表空间保留表结构(即:只删除表内的数据,不删除表本身。相当于Delete语句不写where子句一样),不使用事务处理即和事务无关

2.delete table table_name [where子句] delete属于数据操作语言(DML,data maintain Language),不能自动提交事务,需commit提交 这个操作会放到 rollback segement 中,事务提交之后才生效; 如果有相应的 trigger,执行的时候将被触发。 delete 语句不影响表所占用的 extent,高水线(high watermark)保持原位置不动

3. drop table table_name drop属于数据定义语言(DDL,data define language)可以自动提交事务; drop 语句将删除表的结构被依赖的约束(constrain)、触发器(trigger)、索引(index)【删除表数据同时删除表结构】; 依赖于该表的存储过程/函数将保留,但是变为 invalid 状态。

这几种删除语句的区别?

在速度上,一般来说,drop> truncate > delete.

如果想要删除表,用drop;

如果想要保留该表,但要删除所有记录,而且和事务无关时,用truncate;

当你要删除部分记录时,或者想触发trigger,用delete,注意要带上where子句.

注意: 对于有主外键关系的表,不能使用truncate而应该使用不带where子句的delete语句,由于truncate不记录在日志中,不能够激活触发器

删除后可以恢复吗?哪些删除是可以恢复的?

数据库删除后的数据想要恢复分三种情况:

1.有没有备份?

2.有没有开启binlog?

3.如果两者都没开,只能使用第三方恢复软件,或者找专业的数据恢复公司

5.编码实战


undefined_腾讯视频

PPT

6.扩展思考

关于alter语句

alter语句属于drop语句的分支

--------------------------------------------------------------------------------------------------------------------

“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧 !

师兄带你入门!

相关文章

  • 2017.11.16 SQL删除语句

    SQL的删除语句 大家好,我是IT修真院郑州分院第七期的学员冯亚超,一枚正直纯洁善良的JAVA程序员 今天给大家分...

  • mysql数据库查询语句

    1.简单的查询基本表的SQL语句 (1)查询语句 (2)查询语句 Student表的删除SQL语句: 选课表的操作...

  • MyBatis 批量新增

    1.新增:--返回值为增加的的行数 SQL语句 2修改: SQL语句 3.批量删除

  • [笔记]常用基本SQL语句

    创建表 插入数据 删除记录 DELETE 语句用于删除表中的记录(行)。 请注意 SQL DELETE 语句中的 ...

  • SQL (FMDB)

    SQL套餐 sql常用语句 创建表 查询 修改 删除 插入 删除表 FMDB 什么是FMDBFMDB是iOS平台的...

  • iOS SQLite.swift使用说明

    SQLite.swift使用说明 1、建表 等价于执行SQL语句 2、插入数据 等价于执行SQL语句 4、删除 等...

  • 一、数据库之SQL语句

    一、SQL创表 二、SQL-插入 三、SQL-修改 四、SQL-删除 五、SQL-查询 以上是SQL语句常用的用法...

  • oracle学习笔记九——插入更新和删除(DML语句)

    九、插入更新和删除 SQL语句的类型:1.DML语句(Data Manipulation Language 数据操...

  • SQL基础语句

    SQL 基本语句记录 新建表 删除表: 插入数据: 删除数据: 更新数据: 新增字段: 删除字段: 修改字段: 重...

  • SQL语句中的 drop truncate delete

    SQL语句中常用的三个删除操作: 删除表结构及内容 清空表内容 删除表记录

网友评论

    本文标题:2017.11.16 SQL删除语句

    本文链接:https://www.haomeiwen.com/subject/iafrvxtx.html