除了表B中的客户服务和主管数据,如何从表A中删除数据?
Posted
技术标签:
【中文标题】除了表B中的客户服务和主管数据,如何从表A中删除数据?【英文标题】:how to delete data from table A besides the customer service and director data in table B? 【发布时间】:2019-07-07 03:55:23 【问题描述】:这是数据库布局的截图
【问题讨论】:
这看起来真的像功课。 idownvotedbecau.se/noattempt 和 idownvotedbecau.se/imageofcode 【参考方案1】:DELETE FROM table_name
WHERE condition;
在此声明中: __
首先,指定要从中删除数据的表。 其次,使用条件来指定在 WHERE 子句中删除哪些行。如果该行符合条件,则将其删除。 请注意,WHERE 子句是可选的。如果省略 WHERE 子句,则 DELETE 语句将删除表中的所有行。
除了从表中删除数据外,DELETE 语句还返回删除的行数。
要使用单个 DELETE 语句从多个表中删除数据,请使用 DELETE JOIN
语句,我们将在下一个教程中介绍。
要删除表中的所有行而不需要知道删除了多少行,您应该使用 TRUNCATE TABLE 语句以获得更好的性能。
对于有外键约束的表,当你从父表中删除行时,子表中的行会通过ON DELETE CASCADE选项自动删除。
mysql DELETE 示例 我们将使用示例数据库中的 employees 表进行演示。
MySQL 删除 - 员工表
请注意,一旦删除数据,它就会消失。因此,您应该在执行下一节中的 DELETE 语句之前备份您的数据库。 假设您要删除 office Number 为 4 的员工,请使用带有 WHERE 子句的 DELETE 语句,如下查询:
DELETE FROM employees
WHERE
officeCode = 4;
要从employees 表中删除所有行,请使用不带WHERE 子句的DELETE 语句,如下所示:
DELETE FROM employees;
employees 表中的所有行都已删除。
MySQL DELETE 和 LIMIT 子句 如果要限制要删除的行数,请使用 LIMIT 子句,如下所示:
DELETE FROM table
LIMIT row_count;
请注意,表中的行顺序是未指定的,因此,当您使用 LIMIT 子句时,您应该始终使用 ORDER BY 子句。
DELETE FROM table_name
ORDER BY c1, c2, ...
LIMIT row_count;
考虑示例数据库中的以下客户表:
例如,以下语句按客户姓名的字母顺序对客户进行排序并删除前 10 个客户:
DELETE FROM customers
ORDER BY customerName
LIMIT 10;
类似地,以下 DELETE 语句选择法国的客户,按信用额度升序对他们进行排序,并删除前 5 个客户: __
DELETE FROM customers
WHERE country = 'France'
ORDER BY creditLimit
LIMIT 5;
【讨论】:
【参考方案2】:DELETE t1
FROM Table1 t1
JOIN Table2 t2 ON t1.ID = t2.ID;
DELETE Table1
【讨论】:
以上是关于除了表B中的客户服务和主管数据,如何从表A中删除数据?的主要内容,如果未能解决你的问题,请参考以下文章
如果存在表 B,则从表 B 中获取数据,否则保留表 A(在某些列之后)