MySQL删除命令_DELETE
单表删除语句:
DELETE [LOW_PRIORITY][IGNORE] FROM tbl_name
[WHERE where_definition] [ORDER BY ...] [LIMIT row_count]说明:
low_priority:强制delete命令被延迟执行,直到没有其它客户端读取本表时再执行。
ignore:使MySQL忽略delete执行所有的错误,而错误会以警告的方式返回。
order by...:表中记录按照指定的顺序进行删除,此子句一般与limit联用才有意义。
limit:指定删除操作的指定行范围。
注意:1)不能把ORDER BY或LIMIT与multiple-table UPDATE(多表更新)同时使用;
2)当delete伴随有多个限制条件时,是将多个限制条件执行查询操作后,再执行对应的删除操作。
(1)简单单表删除
语句:delete from table_name where [条件]
示例:
mysql> select * from staff;
+----+----------+-------+
| id | name | slary |
+----+----------+-------+
| | guoding | |
| | dingtao | |
| | haofugui | |
| | guoming | |
| | haotian | |
| | fengfei | |
| | guoting | |
| | guoding | |
| | xiaohua | |
+----+----------+-------+
rows in set (0.00 sec) mysql> delete from staff where id=9; //通过where指定要删除的记录或记录组合
Query OK, row affected (0.00 sec) mysql> select * from staff;
+----+----------+-------+
| id | name | slary |
+----+----------+-------+
| | guoding | |
| | dingtao | |
| | haofugui | |
| | guoming | |
| | haotian | |
| | fengfei | |
| | guoting | |
| | guoding | |
+----+----------+-------+
rows in set (0.00 sec)
(2)删除-排序、限制
order by...一般与limit搭配使用才有意义。
如:删除工资最低的记录
mysql> select * from staff;
+----+----------+-------+
| id | name | slary |
+----+----------+-------+
| | guoding | |
| | dingtao | |
| | haofugui | |
| | guoming | |
| | haotian | |
| | fengfei | |
| | guoting | |
| | guoding | |
+----+----------+-------+
rows in set (0.00 sec) mysql> delete from staff order by slary asc limit 1; //删除工资最低的数据记录
Query OK, row affected (0.00 sec) mysql> select * from staff;
+----+----------+-------+
| id | name | slary |
+----+----------+-------+
| | guoding | |
| | dingtao | |
| | haofugui | |
| | guoming | |
| | haotian | |
| | fengfei | |
| | guoding | |
+----+----------+-------+
rows in set (0.00 sec)
(3)连接删除
假设有一个post表与staff对应:
mysql> select * from staff;
+----+----------+-------+
| id | name | slary |
+----+----------+-------+
| | guoding | |
| | dingtao | |
| | haofugui | |
| | guoming | |
| | haotian | |
| | fengfei | |
| | guoding | |
+----+----------+-------+
rows in set (0.00 sec) mysql> select * from post;
+-----+----------+-------+
| num | name | level |
+-----+----------+-------+
| | haotian | |
| | guoming | |
| | haofugui | |
+-----+----------+-------+
rows in set (0.00 sec)
现在需要从表staff中删除在post没有对应记录的记录:
mysql> delete staff from staff left join post on staff.name=post.name where post.name is NULL;
Query OK, rows affected (0.00 sec) mysql> select * from staff;
+----+----------+-------+
| id | name | slary |
+----+----------+-------+
| | haofugui | |
| | guoming | |
| | haotian | |
+----+----------+-------+
rows in set (0.00 sec)
在上述删除命令中,也可以引入别名,方便输入,如:
mysql> delete A from staff as A left join post as B on A.name=B.name where B.name is NULL;
注意:NULL不可以用等号(B.name=NULL),正确的应该是B.name is NULL
MySQL删除命令_DELETE的更多相关文章
- SQL server 存储过程 C#调用Windows CMD命令并返回输出结果 Mysql删除重复数据保留最小的id C# 取字符串中间文本 取字符串左边 取字符串右边 C# JSON格式数据高级用法
create proc insertLog@Title nvarchar(50),@Contents nvarchar(max),@UserId int,@CreateTime datetimeasi ...
- MySQL ALTER命令
当我们需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令. 开始本文教程前让我们先创建一张表,表名为:testalter_tbl. root@host# mysql -u r ...
- MySQL 常用命令总结
http://blog.csdn.net/hanxin1987216/article/details/5976860 一.总结 1.Linux系统下启动MySQL的命令: mysqladmin sta ...
- MySQL常用命令和常见问题
MySQL常用命令和常见问题 --创建数据库并设置字符集 create database wip default character set utf8 collate utf8_general_ci; ...
- MySQL命令大全:MySQL常用命令手册、MySQL命令行大全、查询工具
1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...
- MYSQL删除表的记录后如何使ID从1开始
MYSQL删除表的记录后如何使ID从1开始 MYSQL删除表的记录后如何使ID从1开始 http://hi.baidu.com/289766516/blog/item/a3f85500556e2c09 ...
- 烂泥:mysql帮助命令使用说明
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 在安装.管理和使用mysql过程中,你是不是需要记忆很多的mysql命令.而且对于新手来说,很不多的命令不知道该如何应用,对于老手来说很多命令时间长了忘 ...
- Mysql常用命令详解
Mysql安装目录 数据库目录 /var/lib/mysql/ 配置文件 /usr/share/mysql(mysql.server命令及配置文件) 相关命令 /usr/bin(mysqladmin ...
- Mysql常用命令行大全
第一招.mysql服务的启动和停止 net stop mysql net start mysql 第二招.登陆mysql 语法如下: mysql -u用户名 -p用户密码 键入命令mysql -uro ...
随机推荐
- Android学习:代码控制UI界面示例
package allegro.test2; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; im ...
- [原]Jenkins(二十) jenkins再出发之Error: Opening Robot Framework log failed
错误缘由:使用plugin [public robot framework test results] 生成的HTML文件都无法正常打开. 解决方案: Connect on your jenkin ...
- 如何使用LinkedHashMap来实现一个LruCache
最近在看mybatis的源代码,发现了mybatis中实现的LruCache使用到了LinkedHashMap,所以就探究了一下LinkedHashMap是如何支持Lru缓存的 LinkedHashM ...
- 进程间通信之——队列Queue
队列是先进先出. from multiprocessing import Queue q = Queue(6) # 队列容纳上限 q.put(1) # 放到队列里面 q.put(2) q.put(3) ...
- hdu 2899
mxy终于学会求函数极值了. 先写一道板子. #include <bits/stdc++.h> using namespace std; typedef double db; ; cons ...
- 设置头像、商品、轮播图为背景图时需要的css
background-repeat: no-repeat;background-size: cover;background-position: center center;
- SQL特殊字符转义
原文链接: SQL特殊字符转义 应 该说,您即使没有处理 HTML 或 JavaScript 的特殊字符,也不会带来灾难性的后果,但是如果不在动态构造 SQL 语句时对变量中特殊字符进行处理,将可能导 ...
- 剑指offer——python【第31题】整数1出现的次数
题目描述 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了. ...
- mui 弹窗提醒,form表单基本信息
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- VS调试时JSON格式文件加载不了
在使用VS2012进行调试时发现加载数据为JSON格式的都加载不了,应该是MIME类型没有正确设置的问题. 直接通过浏览器地址栏访问时会收到提示,根据提示在IIS EXPRESS的安装目录下面执行一条 ...