Maison  >  Article  >  base de données  >  Supprimer l'instruction mysql

Supprimer l'instruction mysql

PHPz
PHPzoriginal
2023-05-11 22:07:381206parcourir

Dans MySQL, l'instruction delete est une commande utilisée pour supprimer des enregistrements de la base de données. Cela peut nous aider à nettoyer les enregistrements inutiles dans la base de données pour gérer les données plus efficacement. L'instruction delete de MySQL est très flexible et peut utiliser une variété de syntaxes et d'options différentes pour effectuer différentes opérations de suppression. Dans cet article, nous examinerons de plus près ces options et comment utiliser correctement les instructions delete.

Syntaxe de base

La syntaxe de base de l'instruction delete de MySQL est la suivante :

DELETE FROM table_name WHERE condition;

Où :

  • table_name spécifie le nom de la table pour supprimer les données. table_name 指定要删除数据的表名。
  • condition 是一个可选的参数,用于指定要删除的记录。如果省略此参数,则将删除表中所有记录。

示例:

假设我们有一个名为“students”的表,包含如下数据:

id name age gender
1 Alice 20 Female
2 Bob 22 Male
3 Cindy 18 Female
4 David 21 Male

要删除这个表中所有年龄小于20岁的学生记录,可以使用以下命令:

DELETE FROM students WHERE age < 20;

执行删除操作后,该表的内容将变为:

id name age gender
1 Alice 20 Female
2 Bob 22 Male
4 David 21 Male

使用TRUNCATE语句快速删除表中所有数据

在某些情况下,我们可能需要快速清空一个表中的所有数据,而不是仅删除一部分。为此,MySQL提供了一个称为TRUNCATE的语句,可以在一次操作中完全删除表中的所有数据。TRUNCATE比DELETE语句更快,因为它可以直接删除表中的数据,而不需要记录日志,因此也不需要回滚。

TRUNCATE语句的语法如下所示:

TRUNCATE table_name;

示例:

要快速清空前面提到的“students”表中的所有数据,可以使用以下命令:

TRUNCATE students;

执行后,该表将不再包含任何数据。

使用LIMIT语句控制删除的行数

在删除数据时,有时我们只想删除表中的一定数量的行,而不是全部删除。这个时候就可以使用LIMIT语句来指定要删除的行数。LIMIT语句与SELECT语句类似,可以将其添加到DELETE语句中,以控制删除的行数。

LIMIT语句的语法如下所示:

DELETE FROM table_name WHERE condition LIMIT number;

其中:

  • table_namecondition 与前面介绍的一样。
  • number
  • condition est un paramètre facultatif utilisé pour spécifier les enregistrements à supprimer. Si ce paramètre est omis, tous les enregistrements de la table seront supprimés.

Exemple :

Supposons que nous ayons une table appelée "étudiants" avec des données comme celle-ci : idnomâgegender1 Alice20Femme2Bob22Homme3Cindy18Femme4 David21Homme
DELETE FROM orders ORDER BY amount DESC LIMIT 3;
id
À supprimez tous les dossiers d'élèves de moins de 20 ans dans ce tableau, vous pouvez utiliser la commande suivante : Après avoir effectué l'opération de suppression, le contenu du tableau deviendra :

name

age

genre1Alice20Femme2Bob22Homme4 David21Homme

Utilisez l'instruction TRUNCATE pour supprimer rapidement toutes les données d'un tableau

Dans certains cas, nous pouvons avoir besoin d'effacer rapidement toutes les données d'un tableau au lieu d'en supprimer seulement une partie. À cette fin, MySQL fournit une instruction appelée TRUNCATE qui peut supprimer complètement toutes les données de la table en une seule opération. TRUNCATE est plus rapide que l'instruction DELETE car elle supprime les données de la table directement sans journalisation et donc sans avoir besoin de restauration.

La syntaxe de l'instruction TRUNCATE est la suivante :

CREATE TABLE customers (
  id INT PRIMARY KEY,
  name VARCHAR(50)
);

CREATE TABLE orders (
  id INT PRIMARY KEY,
  customer_id INT,
  order_date DATE,
  amount DECIMAL(10, 2),
  FOREIGN KEY (customer_id) REFERENCES customers(id) ON DELETE CASCADE
);

Exemple :

Pour effacer rapidement toutes les données de la table "étudiants" mentionnée précédemment, vous pouvez utiliser la commande suivante :

DELETE FROM customers WHERE id = 3;

Après exécution, la table sera ne contiennent plus aucune donnée.

Utilisez l'instruction LIMIT pour contrôler le nombre de lignes supprimées

Lors de la suppression de données, nous souhaitons parfois supprimer uniquement un certain nombre de lignes du tableau au lieu de toutes les supprimer. À ce stade, vous pouvez utiliser l'instruction LIMIT pour spécifier le nombre de lignes à supprimer. L'instruction LIMIT est similaire à l'instruction SELECT et peut être ajoutée à l'instruction DELETE pour contrôler le nombre de lignes supprimées. La syntaxe de l'instruction 🎜🎜LIMIT est la suivante : 🎜rrreee🎜où : 🎜🎜🎜table_name et condition sont les mêmes que ceux introduits précédemment. 🎜🎜number spécifie le nombre de lignes à supprimer. 🎜🎜🎜Exemple : 🎜🎜Supposons que nous ayons une table appelée "commandes" avec des données comme celle-ci : 🎜🎜🎜🎜🎜id🎜🎜order_date🎜🎜customer🎜🎜amount🎜🎜🎜🎜🎜🎜1 🎜 🎜2020- 01-01 🎜🎜Alice🎜🎜100🎜🎜🎜🎜2🎜🎜2020-01-02🎜🎜Bob🎜🎜200🎜🎜🎜🎜3🎜🎜2020-01-03🎜 🎜C indy🎜🎜150🎜🎜🎜🎜4 🎜🎜2020 -01-04🎜🎜David🎜🎜300🎜🎜🎜🎜5🎜🎜2020-01-05🎜🎜Elizabeth🎜🎜250🎜🎜🎜🎜🎜Les trois commandes avec les montants les plus élevés dans le tableau, Vous peut utiliser la commande suivante : 🎜rrreee🎜Après exécution, le tableau deviendra 🎜🎜🎜🎜🎜id🎜🎜order_date🎜🎜customer🎜🎜amount🎜🎜🎜🎜🎜🎜1🎜🎜2020-01-01 🎜🎜Alice🎜 🎜100🎜🎜🎜🎜3🎜🎜2020-01-03🎜🎜Cindy🎜🎜150🎜🎜🎜🎜🎜Utilisez l'option CASCADE pour supprimer les enregistrements de sous-tables🎜🎜Dans MySQL, les clés étrangères sont souvent utilisées pour établir des connexions entre les bases de données relationnelles. Les clés étrangères nous permettent d'implémenter des requêtes conjointes et des suppressions entre tables en établissant des connexions entre les tables. Si nous souhaitons supprimer certains enregistrements dans une table et devons également supprimer les enregistrements associés dans d'autres tables qui lui sont associées, nous pouvons utiliser l'option CASCADE. 🎜🎜L'option CASCADE est une opération de suppression en cascade couramment utilisée dans MySQL. Il recherche automatiquement d'autres tables liées aux enregistrements dans la table spécifiée et supprime tous les enregistrements associés dans ces tables. L'option CASCADE ne peut être utilisée qu'en combinaison avec des clés étrangères pour spécifier l'action à entreprendre lors de l'exécution d'une opération de suppression. 🎜🎜Pour la structure de table suivante : 🎜rrreee🎜Pour supprimer l'enregistrement d'ID 3 dans la table "clients" et tous les enregistrements de la table "commandes" associée, vous pouvez utiliser la commande suivante : 🎜rrreee🎜L'opération de suppression va supprimez l'enregistrement avec les enregistrements client ID 3 et supprimez automatiquement tous les enregistrements de commande associés. 🎜🎜Résumé🎜🎜Comme mentionné ci-dessus, les enregistrements de la base de données peuvent être facilement supprimés à l'aide de l'instruction delete de MySQL. La syntaxe de base des instructions delete inclut les instructions DELETE, TRUNCATE et LIMIT. En utilisant ces options de manière flexible, les opérations sur les données peuvent être traitées rapidement et en toute sécurité. Remarque : lorsque vous utilisez des instructions de suppression, vérifiez soigneusement les conditions et les options pour éviter de supprimer ou de perdre accidentellement des données importantes. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:supprimer Linux MySQLArticle suivant:supprimer Linux MySQL