MySQL入门_实战系列文章目录



文章目录

  • MySQL入门_实战系列文章目录
  • 前言
  • 1 数据删除
  • 1.1 删除表中指定的数据
  • 1.2 删除某个范围内的数据
  • 1.3 使用运算符删除数据
  • 1.4 使用LIKE删除数据
  • 1.5 使用IN删除数据
  • 1.6 删除符合正则表达式的数据
  • 1.7 删除数据表中的所有数据



前言

1 数据删除

使用DELETE语句删除数据的语法格式如下:

DELETE FROM table_name [WHERE condition]

说明:
table_name:需要删除数据的表名;
condition:WHERE的条件;
其中,WHERE子句可省略,省略时表示将删除所有数据。

1.1 删除表中指定的数据

例:
删除DEPT数据表中DNO为7的记录。

DELETE FROM DEPT WHERE DNO = 7;

MySQL字段怎么删掉 mysql删除字段的值_数据

可以看到DEPT表中已经不存在DNO为7的记录,表名数据删除成功

MySQL字段怎么删掉 mysql删除字段的值_mysql_02

1.2 删除某个范围内的数据

可以通过LIKE、IN、NOT IN、BETWEEN…AND语句或者“>”“>=”“<”“<=”“<>”“!=”等运算符实现。

1.使用BETWEEN…AND语句删除数据

DELETE FROM DEPT WHERE DNO  BETWEEN 5 AND 6;

MySQL字段怎么删掉 mysql删除字段的值_MySQL字段怎么删掉_03


SQL执行成功,查看DEPT表中的数据,结果显示DEPT表中已经不存在DNO为5~6的记录,说明数据删除成功。

MySQL字段怎么删掉 mysql删除字段的值_mysql_04

1.3 使用运算符删除数据


删除DEPT数据表中DNO大于或等于3数据记录。

DELETE FROM DEPT WHERE DNO >= 3;

MySQL字段怎么删掉 mysql删除字段的值_数据_05


SQL命令执行成功。

接来下查看DEPT表的数据,可以看到,此时DEPT表中只剩下2条记录,已经不存在DNO大于或等于3的数据记录,说明数据删除成功。

MySQL字段怎么删掉 mysql删除字段的值_sql_06

注:
在删除表的数据时,其他运算符的使用方法相同,这里不再赘述。

1.4 使用LIKE删除数据


删除DEPT数据表中DNAME包含“业务”的数据记录。

DELETE FROM DEPT WHERE DNAME LIKE '%业务%';

MySQL字段怎么删掉 mysql删除字段的值_MySQL字段怎么删掉_07


SQL语句执行成功,查看DEPT数据表中的数据。

MySQL字段怎么删掉 mysql删除字段的值_MySQL字段怎么删掉_08


可以看到DNAME为“业务开发部”的数据记录被成功删除。

因为测试表DEPT中数据只剩下一条了,这里先造一部分数据供后续演示用。
(这里顺便演示一个主键冲突的报错)

INSERT INTO DEPT VALUES 
(1, '业务研发部', '深圳'),
(2, '财务部', '深圳'),
(3, '运维部', '深圳'),
(4, '财务部', '深圳'),
(5, '运营部', '武汉'),
(6, '人事部', '深圳'),
(7, '公关部', '上海');

MySQL字段怎么删掉 mysql删除字段的值_数据库_09


会看到报错信息:

ERROR 1062 (23000): Duplicate entry '2' for key 'dept.PRIMARY'

这是因为之前DEPT表中已经存在DNO为2的数据记录,而DNO是DEPT的主键,是不能重复的。
因此修改SQL如下:

INSERT INTO DEPT VALUES 
(1, '业务研发部', '深圳'),
(3, '运维部', '深圳'),
(4, '财务部', '深圳'),
(5, '运营部', '武汉'),
(6, '人事部', '深圳'),
(7, '公关部', '上海');

SQL执行成功

MySQL字段怎么删掉 mysql删除字段的值_数据库_10


查询DEPT表的数据,结果如下:

MySQL字段怎么删掉 mysql删除字段的值_mysql_11


接下来继续演示

1.5 使用IN删除数据


删除DEPT数据表中DNO为1和3的数据。

DELETE FROM DEPT WHERE DNO IN  (1,3);

SQL执行成功

MySQL字段怎么删掉 mysql删除字段的值_MySQL字段怎么删掉_12


查看DEPT表的数据,可以发现DNO为1和3的数据已经不存在,表示删除成功。

MySQL字段怎么删掉 mysql删除字段的值_MySQL字段怎么删掉_13

注:
NOT IN和IN的语法使用相同,只不过IN语句是某个字段的值包含在值列表中的数据,NOT IN语句是某个字段的值不包含在值列表中的数据,这里不再赘述。

1.6 删除符合正则表达式的数据

WHERET条件中结合正则表达式来限制删除条件。
例:
删除DEPT数据表中DNAME以“销售”开头的数据记录。

DELETE FROM DEPT WHERE DNAME REGEXP '^销售';

SQL语句执行成功

MySQL字段怎么删掉 mysql删除字段的值_数据_14


查看表中现有的数据,可以看到DNAME是销售部的数据记录已经不存在,说明删除成功。

MySQL字段怎么删掉 mysql删除字段的值_mysql_15

1.7 删除数据表中的所有数据

当需要删除MySQL数据表中的所有数据时,只需要DELTE FROM table_name;即可。

例:
删除DEPT数据表中的所有数据。

MySQL字段怎么删掉 mysql删除字段的值_数据_16


SQL语句执行成功,然后查看DEPT表中的数据,可以发现表中已经无记录,表示删除成功。

MySQL字段怎么删掉 mysql删除字段的值_sql_17


至此,MySQL数据的删除已经初步掌握。

如果该文章有帮助到您,请 点赞 支持,谢谢!
有任何疑问,欢迎在评论区 留言