Home > Database > Mysql Tutorial > body text

How to delete data using mysql command?

青灯夜游
Release: 2020-10-05 16:00:06
Original
11776 people have browsed it

In mysql, you can use the "DELETE FROM

[WHERE clause] [ORDER BY clause] [LIMIT clause]" command to delete data in a single table; you can also use " TRUNCATE [TABLE] table name" deletes all data in the data table and clears the table.

How to delete data using mysql command?

Use the DELETE statement to delete data in a single table

In MySQL, you can use the DELETE statement to delete one or more rows of data from the table.

The syntax format is:

DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子句]
Copy after login

The syntax description is as follows:

: Specify the name of the table to delete data.

  • ORDER BY clause: Optional. Indicates that when deleting, rows in the table will be deleted in the order specified in the clause.

  • WHERE clause: Optional. Indicates that the deletion conditions are limited for the deletion operation. If this clause is omitted, it means that all rows in the table are deleted.

  • LIMIT clause: Optional. Used to tell the server the maximum number of rows to be deleted before the control command is returned to the client.

  • Note: When the WHERE condition is not used, all data will be deleted.

    Example: Delete all data in the table

    Delete all data in the tb_courses_new table. The input SQL statement and execution results are as follows.

    mysql> DELETE FROM tb_courses_new;
    Query OK, 3 rows affected (0.12 sec)
    mysql> SELECT * FROM tb_courses_new;
    Empty set (0.00 sec)
    Copy after login

    Use the TRUNCATE statement to delete data in the data table

    The TRUNCATE keyword is used to completely clear a table. The syntax format is as follows:

    TRUNCATE [TABLE] 表名
    Copy after login

    Among them, the TABLE keyword can be omitted.

    Example

    Create a new table tb_student_course, insert data and query, the SQL statement and running results are as follows:

    mysql> CREATE TABLE `tb_student_course` (
        -> `id` int(4) NOT NULL AUTO_INCREMENT,
        -> `name` varchar(25) NOT NULL,
        -> PRIMARY KEY (`id`)
        -> );
    Query OK, 0 rows affected (0.04 sec)
    mysql> INSERT INTO tb_student_course(name) VALUES (&#39;Java&#39;),(&#39;MySQL&#39;),(&#39;Python&#39;);
    Query OK, 3 rows affected (0.05 sec)
    Records: 3  Duplicates: 0  Warnings: 0
    mysql> SELECT * FROM tb_student_course;
    +----+--------+
    | id | name   |
    +----+--------+
    |  1 | Java   |
    |  2 | MySQL  |
    |  3 | Python |
    +----+--------+
    3 rows in set (0.00 sec)
    Copy after login

    Use the TRUNCATE statement to clear the tb_student_course table The records, SQL statements and running results are as follows:

    mysql> TRUNCATE TABLE tb_student_course;
    Query OK, 0 rows affected (0.04 sec)
    
    mysql> SELECT * FROM tb_student_course;
    Empty set (0.00 sec)
    Copy after login

    The difference between TRUNCATE and DELETE

    Logically speaking, the TRUNCATE statement has the same effect as the DELETE statement, but in some cases In some cases, there are differences in usage between the two.

    • DELETE is a DML type statement; TRUNCATE is a DDL type statement. They are both used to clear the data in the table.

    • DELETE deletes records row by row; TRUNCATE directly deletes the original table and then creates an identical new table instead of deleting the data in the table row by row. Execute data faster than DELETE. Therefore, when you need to delete all data rows in the table, try to use the TRUNCATE statement to shorten the execution time.

    • DELETE After deleting data, the data can be retrieved with event rollback; TRUNCATE does not support transaction rollback, and data cannot be retrieved after deletion.

    • DELETE After deleting data, the system will not reset the counter of the auto-increment field; after TRUNCATE clears the table records, the system will reset the counter of the auto-increment field.

    • DELETE has a wider scope of use because it can delete part of the data by specifying conditions through the WHERE clause; TRUNCATE does not support the WHERE clause and can only delete the entire data.

    • DELETE will return the number of rows with deleted data, but TRUNCATE will only return 0, which is meaningless.

    Summary

    When the table is not needed, use DROP; when you still want to keep the table but want to delete all records, use TRUNCATE; when you want to delete some records, use DELETE.

    Recommended tutorial: mysql video tutorial

    The above is the detailed content of How to delete data using mysql command?. For more information, please follow other related articles on the PHP Chinese website!

    Related labels:
    source:php.cn
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Popular Tutorials
    More>
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template