MySQL之删_delete-truncate
MySQL增删改查之删_delete-truncate
一、DELETE语句
删除数据记录
1、在单表中删除行
语法:
DELETE [IGNORE] FROM tbl_name
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]
①从表中删除满足WHERE条件的所有行;
②没有WHERE条件,则删除表中的所有行
基本格式:
delete from <表名> where <条件表达式>;
删除符合指定条件表达式的行记录
注意:
不能在delete和from中间指定列名,因为记录要删,总是按照行来删除的,不存在删除一行记录的某几列的值的情况。
例1:删除44号球员的罚款
DELETE FROM penalties
WHERE playerno=44;
例2:带子查询
DELETE FROM <表1>
WHERE joined >
(SELECT avg(joined) FROM <表2> WHERE town = 'Stratford');
注意:在WHERE子句的子查询中,不允许访问要删除行的表
DELETE FROM <表1>
WHERE joined >
(SELECT avg(joined) FROM <表1> WHERE town = 'Stratford');
错误代码:1093
You can't specify target table '<表1>' for update in FROM clause
用在DELETE语句中的ORDER BY子句和LIMIT子句的含义和用在UPDATE语句中是类似的
例3:删除4个最高的罚款
DELETE FROM penalties
ORDER BY amount DESC,playerno ASC
LIMIT 4;
2、从多个表中删除行
语法:
DELETE [IGNORE] tbl_name[.*] [, tbl_name[.*]] ...
FROM table_references
[WHERE where_condition]
注意:如果FROM中的表有别名,在DELETE子句中只能使用表别名
示例:从teams和matches表中删除所有3号球队的行
DELETE teams, matches
FROM teams, matches
WHERE teams.teamno = matches.teamno
AND teams.teamno=3;
解析:两个表中满足连接条件teams.teamno = matches.teamno和过滤条件teams.teamno=3的所有行被删除
二、TRUNCATE语句
清空一张(大)表更有效的方法是使用TRUNCATE语句,比DELETE快得多。
语法:
TRUNCATE [TABLE] tbl_name
与delete的区别:
相同点:
truncate和 delete只删除表中数据不删除表的结构
不同点:
用truncate,保留表结构(定义),但删除表中所有记录;
用delete,只是删除部分记录(always with a WHERE clause)
MySQL之删_delete-truncate的更多相关文章
- MySQL DELETE语句和TRUNCATE TABLE语句的区别
MySQL DELETE语句和TRUNCATE TABLE语句的区别 2010-10-08 16:05 佚名 互联网 字号:T | T 在MySQL数据库中,DELETE语句和TRUNCATE TAB ...
- MySql的Delete、Truncate、Drop分析
MySql的Delete.Truncate.Drop分析 相同点: truncate 和不带 where 子句的 delete,以及 drop 都会删除表内的数据 不同点 1. truncate 和 ...
- Mysql怎样删除以“#sql-”开头的暂时表
author:skate time:2014/09/28 Mysql怎样删除以"#sql-"开头的暂时表 现象:在重建索引后,发现Mysqlserver的磁盘空间快满了 在用例如以 ...
- mysql中 drop、truncate和delete的区别
mysql中drop.truncate和delete的区别 (1)DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作. TRUNC ...
- MySQL从删库到跑路(三)——SQL语言
作者:天山老妖S 链接:http://blog.51cto.com/9291927 一.SQL语言简介 1.SQL语言简介 SQL是结构化查询语言(Structured Query Language) ...
- mysql之drop、truncate和delete的区别
今天在整理mysql数据库笔记的时候突然想到一个问题,就是drop.truncate和delete的区别,乍一看三者都是有删除的功能,但是具体来看还是有很多区别的.我先把这三个的作用简单说一下,有前辈 ...
- Go语言之进阶篇mysql增 删 改 查
一.mysql操作基本语法 1.创建名称nulige的数据库 CREATE DATABASE nulige DEFAULT CHARSET utf8 COLLATE utf8_general_ci; ...
- MySql中drop、truncate、delete的区别
1.drop:能对table和view 用法: drop table [is exists] 表1,表2,表3....: ①drop是DDL中删除表的操作,会删除表结构和所有数据,并释放空间. ②并 ...
- MySQL删除命令_DELETE
单表删除语句: DELETE [LOW_PRIORITY][IGNORE] FROM tbl_name [WHERE where_definition] [ORDER BY ...] ...
随机推荐
- cURL的运用,文字替换
<?php /** * 实例描述:在网络上下载一个网页并把内容中的“百度”替换为“谷歌”之后输出 */ $curl_obj = curl_init(); // 初始化 curl_setopt($ ...
- tcpdf导出pdf数据支持中文的解决方案
步骤如下:1.确保你测试tcpdf能正常输出英文内容的pdf2.测试输入中文内容后显示是?的乱码或者空白分析原因,是因为我们输入的中文,tcpdf字体库并不支持,因此乱码或者空白显示 添加一个合适的字 ...
- 既然函数也是对象,那么为什么this不指向普通函数?
function a(){ var b=1; function exp(){ alert(this.b); } exp(); } var b=2; a(); 既然函数是对象,且exp是在a中运行的,那 ...
- 矩阵的f范数及其求偏导法则
转载自: http://blog.csdn.net/txwh0820/article/details/46392293 矩阵的迹求导法则 1. 复杂矩阵问题求导方法:可以从小到大,从scalar到 ...
- Tomcat常用配置修改
Tomcat常用配置修改 说明 运行需要设置环境变量 JAVA_HOME 即JDK安装目录 tomcat 默认登录地址 http://localhost:8080 配置tomcat 1.端口设置 打开 ...
- JS之正则表达式
一.正则表达的目标: 1.使用表单事件和脚本函数实现表单验证 2.使用String对象和文本框控件常用属性和方法实现客户端验证 二.什么需要表单验证: 1.表单元素是否为空 2.用户名和密码 3.E- ...
- Visiual Studio CLR20r3
问题事件名称: CLR20r3 解决方法: 步骤1:开始-->所有程序-->Microsoft Visual Studio 2012-->Visual Studio To ...
- [图形学] Chp17 OpenGL光照和表面绘制函数
这章学了基本光照模型,物体的显示受到以下效果影响:全局环境光,点光源(环境光漫反射分量,点光源漫反射分量,点光源镜面反射分量),材质系数(漫反射系数,镜面反射系数),自身发光,雾气效果等.其中点光源有 ...
- Oozie时bin/oozied.sh start或bin/oozied.sh run出现Bootstrap进程无法启动,http://bigdatamaster:11000/oozie界面也无法打开?E0103: Could not load service classes, java.lang.ClassNotFoundException: Class org.apache.oozie.ser
不多说,直接上干货! 问题详情 [hadoop@bigdatamaster oozie--cdh5.5.4]$ bin/oozied.sh start Setting OOZIE_HOME: /hom ...
- css3-transition过渡属性
transition主要是用于一个元素的一种状态到另一种状态的一个过渡的过程,不能够主动触发,必须依赖于事件,例如hover伪类选择器. 一,transition简写 transition:要过渡的属 ...