[toc]

连接数据库

本地连接

mysql -u root -p

远程连接,u和root之间可以不加空格,其他类似。

mysql -h $host -u root -p 123

删除指定内容

DELETE FROM some_table WHERE id = 1;

在MySQL中,DELETE 语句用于从数据库表中删除行。以下是一些基本的 DELETE 语句用法:

基本的 DELETE 语句

DELETE FROM table_name WHERE condition;
  • table_name 是你想要删除数据的表名。
  • condition 是一个条件表达式,用于指定哪些行应该被删除。如果省略 WHERE 子句,将删除表中的所有行。

示例

  1. 删除特定行: 假设你有一个名为 employees 的表,并且你想要删除 id 为 10 的员工记录:

DELETE FROM employees WHERE id = 10;
2. 删除多个条件的行: 如果你想要删除所有 department 为 'Sales' 并且 age 大于 30 的员工记录:

DELETE FROM employees WHERE department = 'Sales' AND age > 30;
3. 删除所有行: 如果你想删除表中的所有行(这将保留表结构,但删除所有数据):

DELETE FROM employees;

注意事项

  • 使用 DELETE 语句时一定要小心,因为一旦执行,被删除的数据将无法恢复(除非你有备份)。
  • 在执行 DELETE 操作之前,最好先使用 SELECT 语句检查 WHERE 子句是否正确,以确保你不会意外删除错误的数据。
  • 如果你想要删除表中的所有数据,并且不关心保留表结构,可以使用 TRUNCATE TABLE 语句,这通常比 DELETE 没有 WHERE 子句更快。

事务和 DELETE

  • 如果你的数据库支持事务(比如 InnoDB 存储引擎),在执行 DELETE 操作后,你可以使用 ROLLBACK 来撤销删除操作,或者使用 COMMIT 来永久保存删除操作。

安全提示

  • 在执行 DELETE 操作之前,确保你有足够的权限,并且了解操作的后果。
  • 考虑在执行 DELETE 之前备份数据,以防万一需要恢复数据。