1、语法:

  delete 允许使用条件(删除符合条件的数据)
     允许使用limit,限制删除的记录数。limit N

        常见的是,limit配合order by来使用:先将结果排序,再删除固定数量的记录,如果只有order by的删除操作是没有意义的。
  例子:delete from teacher order by days desc limit 10;
  解析:将teacher表中的days字段按照降序排序,取前10条删除。

2、连接删除:

  允许使用类似的join语法,同时删除多个表内的记录。需要先提供表名,再提供连接条件。
  可以拆分成理解为:先delete join_teacher,再delete join_teacher_class

例子:

delete from join_teacher,join_teacher_class 
      using join_teacher_class join join_teacher on 
      join_teacher_class.t_id=join_teacher.id 
      where join_teacher.id=1;

删除前:

命令:delete from join_teacher,join_teacher_class 
      using join_teacher_class join join_teacher on 
      join_teacher_class.t_id=join_teacher.id 
      where join_teacher.id=1;

删除后:

3、清空表操作:

    truncate,类似:delete from table_name;

   truncate要点:   1)不会返回删除的记录数;

             2)重建自动增长的主键 ;

             3)删除表,再新建表。

例子:truncate b_table;     #系统提示删除了24条记录。

   insert into b_table values (null,'hoho','会计');  #此时由于truncate命令的特性,不会保留删除的记录数,所以默认从a_id=1开始。  

    delete要点:1)逐行删除 ;

            2)会保留增长的主键记录。

例子:delete from a_table;      #系统提示删除了24条记录。

    insert into a_table values (null,'haha','会计');        #此时由于delete命令的特性,会保留删除的记录数,所以默认从a_id=25开始。

删除数据高级用法:delete,truncate的更多相关文章

  1. SQL server 存储过程 C#调用Windows CMD命令并返回输出结果 Mysql删除重复数据保留最小的id C# 取字符串中间文本 取字符串左边 取字符串右边 C# JSON格式数据高级用法

    create proc insertLog@Title nvarchar(50),@Contents nvarchar(max),@UserId int,@CreateTime datetimeasi ...

  2. mysql 在删除数据出现Cannot delete or update a parent row: a foreign key constraint fails 这个该如何解决

    mysql 在删除数据出现Cannot delete or update a parent row: a foreign key constraint fails  这个该如何解决 可以这样解决: S ...

  3. mysql----快速删除数据表(drop,truncate.delete)

    概念: 三者均可删除数据表 TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行.但 TRUNCATE TABLE 比 DELETE 速度快 ...

  4. elasticsearch 2.4在head删除数据(使用Delete By Query插件)

    之所以说明是2.4版,是因为不同版本删除的语法不一样(例如跟5.x就不同) 首先安装Delete By Query插件,方式跟安装head插件差不多,安装命令:plugin install delet ...

  5. C# JSON格式数据高级用法

     JSON简介 JSON(全称为JavaScript ObjectNotation) 是一种轻量级的数据交换格式.它是基于JavaScript语法标准的一个子集.JSON采用完全独立于语言的文本格式, ...

  6. 什么?还在用delete删除数据《死磕MySQL系列 九》

    系列文章 五.如何选择普通索引和唯一索引<死磕MySQL系列 五> 六.五分钟,让你明白MySQL是怎么选择索引<死磕MySQL系列 六> 七.字符串可以这样加索引,你知吗?& ...

  7. MySQL数据库5 - 插入数据,修改数据,删除数据

    一.插入数据 1. 所有列都插入值 INSERT [INTO] TABLE_NAME VALUES(V1,V2....Vn); 特点:列值同数,列值同序 eg: insert into users v ...

  8. 6-05使用SQL语句删除数据

    删除数据语法: DELETE  FROM 表名  WHERE  删除条件. TRUNCATE  TABLE 表名. --[1]基本删除,省略WHERE条件,将删除表中的所有数据 DELETE FROM ...

  9. MVC3.0删除数据的时候给提示信息

    Index.cshtml代码: @model IEnumerable<FirstMvc.Models.Book> <script type="text/javascript ...

随机推荐

  1. 使用VSCode创建简单的Razor Webapp--2.添加模型

    1.新建Models文件夹,并新建Movie.cs文件 using System; using System.ComponentModel.DataAnnotations; namespace Raz ...

  2. Wannafly Camp 2020 Day 7H 游戏 - 欧拉筛,GCD

    忘记特判 \(1\) ,血了一地 听说 \(O(n^2 \log n)\) 能过? #include <bits/stdc++.h> #define int long long using ...

  3. JFinal获取多个model

    个人博客 地址:http://www.wenhaofan.com/article/20180930112646 由于jfinal框架自身没有实现获取多个同一类型的Model的方法,导致获取ModelL ...

  4. form表单jquery提交400错误

    今天在用jquery提交form表单的时候出现了一个奇怪的400错误,最后发现原因是因为使用了元素选择器来选择form表单,$('form'),使用这种方式导致了某些参数提交不上去,参数匹配不上于是s ...

  5. main中的argv和argc

    int main(int argc,char* argv[]) 给程序传递命令行参数:第一个参数的值是第二个参数的数组元素个数,即统计运行程序时送给main函数的命令行参数个数. 第二个参数总是cha ...

  6. centos7中 yum的安装

    自己误将yum卸载, 在重装时由于依赖问题一直报错: error: Failed dependencies:     /usr/bin/python is needed by yum-3.4.3-16 ...

  7. 04 部署uwsgi web服务器

    1 建立uwsgi软链接 进入虚拟环境,并在虚拟环境中安装uwsgi,建立软链接. $ cd /venv/thvenv/bin $ activate $ pip install uwsgi 2 创建u ...

  8. 自己动手系列----使用数组实现一个简单的Map

    数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同.Java 语言中提供的数组是用来存储固定大小的同类型元素. 这里提一下,数组的优缺点: 优点: 1. 使用索 ...

  9. C++-有感

    今日在图书馆待了差不多一天,我都忘了我吃饭了没,拿着看视频学习,没啦,主要还是看书,突然感觉有点写不动了. 明天开始不带电脑了,准备把数据结构书重新过一遍,算了,还是不用C++写了,感觉C++居然做题 ...

  10. C语言输入一个整数转化为字符串

    将数字转化为对应的字符,可以通过n%10+48来实现,也可以通过n%10+'0'来实现,因为‘0’的ASCII码的数值就是48 因为字符串‘0’ 对应的10进制 整数是48 字符串'9'对应的10进制 ...