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.
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 loginThe 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 loginUse 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 loginAmong 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 ('Java'),('MySQL'),('Python'); 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 loginUse 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 loginThe 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.cnPrevious article:How to solve the problem that cmd cannot log in to mysql? Next article:Does mysql support like?Statement of this WebsiteThe 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.cnLatest Articles by Author
2023-04-26 17:59:18 2023-04-26 17:47:48 2023-04-26 17:41:42 2023-04-26 17:37:05 2023-04-26 17:31:25 2023-04-26 17:27:32 2023-04-25 19:57:58 2023-04-25 19:53:11 2023-04-25 19:49:11 2023-04-25 19:41:54Latest IssuesHow to group and count in MySQL? I'm trying to write a query that extracts the total number of undeleted messages sent to f...From 2024-04-06 18:30:1701353MySQL gets data from multiple tables I have a eg_design table which contains the following columns: and eg_domains table which ...From 2024-04-06 18:42:4402479Related TopicsMore>Popular RecommendationsPopular TutorialsMore>
Old boy mysql video tutorial637273 Latest DownloadsMore>