发布网友 发布时间:2022-04-19 12:32
共5个回答
懂视网 时间:2022-04-07 19:21
(推荐教程:mysql视频教程)
删除语句delete
DELETE 语句可以删除表的一行或者多行数据。
语法格式为:
DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子句]
语法说明如下:
<表名>:指定要删除数据的表名。
ORDER BY 子句:可选项。表示删除时,表中各行将按照子句中指定的顺序进行删除。
WHERE 子句:可选项。表示为删除操作限定删除条件,若省略该子句,则代表删除该表中的所有行。
LIMIT 子句:可选项。用于告知服务器在控制命令被返回到客户端前被删除行的最大值。
示例1:删除表中的全部数据
删除 tb_courses 表中的全部数据
mysql> DELETE FROM tb_students; Query OK, 3 rows affected (0.12 sec) mysql> SELECT * FROM tb_students; Empty set (0.00 sec)
示例2:根据条件删除表中的数据
在 tb_students 表中,删除 id 为 4 的记录
mysql> DELETE FROM tb_students -> WHERE id=4; Query OK, 1 row affected (0.00 sec) mysql> SELECT * FROM tb_students; +----+-------+---------+------+------+--------+------------+ | id | name | dept_id | age | sex | height | login_date | +----+-------+---------+------+------+--------+------------+ | 1 | Dany | 1 | 25 | F | 160 | 2015-09-10 | | 2 | Green | 3 | 23 | F | 158 | 2016-10-22 | | 3 | Henry | 2 | 23 | M | 185 | 2015-05-31 | | 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 | | 6 | John | 2 | 21 | M | 172 | 2015-11-11 | | 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 | | 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 | +----+-------+---------+------+------+--------+------------+ 4 rows in set (0.00 sec)
由运行结果可以看出,id 为 4 的记录已经被删除。
热心网友 时间:2022-04-07 16:29
语法:DELETE [table.*] FROM table WHERE criteria
说明:table参数用于指定从其中删除记录的表的名称。
criteria参数为一个表达式,用于指定哪些记录应该被删除的表达式。
可以使用 Execute 方法与一个 DROP 语句从数据库中放弃整个表。不过,若用这种方法删除表,将会失去表的结构。不同的是当使用 DELETE,只有数据会被删除;表的结构以及表的所有属性仍然保留,例如字段属性及索引。
扩展资料:
如果需要在delete的时候,按照条件删除记录,那么可能会用到子查询。
但是如下情况:
delete from student where id = (select max(id) from student);
[Err] 1093 - You can't specify target table 'student' for update in FROM clause
解决办法是:给 from 子句中的结果集起别名。
delete from student where id = (select n.max_id from (select max(id) as max_id from student) as n);
这个方法对in还是适用的
delete from student where id in (select id from student where id > 30);
[Err] 1093 - You can't specify target table 'student' for update in FROM clause
解决方法同上:
delete from student where id in (select n.id from (select id from student where id > 30) as n)
参考资料来源:百度百科-DELETE语句
热心网友 时间:2022-04-07 18:04
delete from 表A where 字段='008'’
热心网友 时间:2022-04-07 19:55
DELETE 语句热心网友 时间:2022-04-07 22:03
安全起见,可以先使用查询语句查出要删除的记录,检查无误后,再把SELECT * from 换成DELETE 即可: