delete语句怎么用

发布网友 发布时间: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'

    delete from 表A where 字段='009'


    热心网友 时间:2022-04-07 19:55

    DELETE 语句
    DELETE 语句用于删除表中的行。
    语法
    DELETE FROM 表名称 WHERE 列名称 = 值

    删除某行
    "Fred Wilson" 会被删除:
    DELETE FROM Person WHERE LastName = 'Wilson'

    删除所有行
    可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:
    DELETE FROM table_name

    或者:
    DELETE * FROM table_name

    热心网友 时间:2022-04-07 22:03

    安全起见,可以先使用查询语句查出要删除的记录,检查无误后,再把SELECT * from 换成DELETE 即可:
    如:用下列语句检查你要删除的记录。
    SELECT * FROM TABLENAME WHERE FIELDN IN('008','009')
    如果是要删除的记录,则把SELECT * from 换成DELETE即可
    delete TABLENAME WHERE FIELDN IN('008','009')
    是的,一般条件表达是要包括字段名,字段值或部份字段值。

    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com