{"id":5869,"date":"2024-08-31T10:13:51","date_gmt":"2024-08-31T10:13:51","guid":{"rendered":"https:\/\/wikiform.fr\/codespace\/suppression-de-donnees-dans-sqlite-avec-python\/"},"modified":"2024-08-31T10:13:55","modified_gmt":"2024-08-31T10:13:55","slug":"suppression-de-donnees-dans-sqlite-avec-python","status":"publish","type":"post","link":"https:\/\/wikiform.fr\/codespace\/suppression-de-donnees-dans-sqlite-avec-python\/","title":{"rendered":"10.8 Suppression de Donn\u00e9es dans SQLite avec Python"},"content":{"rendered":"\n<p><strong>Suppression de Donn\u00e9es dans SQLite avec Python<\/strong> est une comp\u00e9tence essentielle pour toute personne travaillant avec des bases de donn\u00e9es et Python. Ma\u00eetriser la suppression de donn\u00e9es dans SQLite permet de maintenir des tables propres et g\u00e9r\u00e9es efficacement. Voici un guide d\u00e9taill\u00e9 sur la fa\u00e7on de supprimer des donn\u00e9es dans SQLite en utilisant Python, y compris des exemples de code concrets.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Introduction \u00e0 la Suppression de Donn\u00e9es dans SQLite avec Python<\/h2>\n\n\n\n<div id=\"videoContainer\" style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; background: #000;\">\n  <iframe src=\"https:\/\/player.vimeo.com\/video\/583423842?dnt=1&#038;fullscreen=0&#038;pip=0\" loading=\"lazy\" loading=\"lazy\" style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%;\" frameborder=\"0\" allow=\"autoplay\" allowfullscreen id=\"vimeoPlayer\"><\/iframe>\n  \n  <!-- Popup Desktop -->\n  <div id=\"popupContainer\" class=\"desktop-popup\" style=\"display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 90%; max-width: 400px; padding: 20px; border-radius: 10px; text-align: center; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); background-color: rgba(255, 255, 255, 0.95); box-sizing: border-box;\">\n    <h2 style=\"color: #333; font-size: 1.5em; margin: 10px 0;\" id=\"profitez-de-loffre-spciale-\">Profitez de l\u2019offre sp\u00e9ciale !<\/h2>\n    <p style=\"color: #e74c3c; font-size: 1.2em; margin: 10px 0;\">Obtenez notre cours pour seulement <strong id=\"price\">29.5\u20ac<\/strong> au lieu de <del>59\u20ac<\/del> !<\/p>\n    <a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\" target=\"_blank\" style=\"display: block; padding: 10px 20px; background-color: #701CF5; color: #fff; text-decoration: none; border-radius: 5px; font-weight: bold; font-size: 1em; margin: 20px auto;\" rel=\"noopener\">Commencer maintenant<\/a>\n    <button onclick=\"closePopup()\" style=\"padding: 10px 20px; font-size: 1em;\">Fermer<\/button>\n  <\/div>\n\n  <!-- Popup Mobile -->\n  <div id=\"popupContainerMobile\" class=\"mobile-popup\" style=\"display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80%; max-width: 300px; padding: 15px; border-radius: 10px; text-align: center; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); background-color: rgba(255, 255, 255, 0.95); box-sizing: border-box;\">\n    <p style=\"color: #e74c3c; font-size: 1em; margin: 5px 0;\">Cours sp\u00e9cial \u00e0 <strong id=\"priceMobile\">29.5\u20ac<\/strong> au lieu de <del>59\u20ac<\/del> !<\/p>\n    <a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\" target=\"_blank\" style=\"display: inline-block; padding: 8px 15px; background-color: #701CF5; color: #fff; text-decoration: none; border-radius: 5px; font-weight: bold; font-size: 0.9em;\" rel=\"noopener\">Commencer maintenant<\/a>\n    <button onclick=\"closePopup()\" style=\"padding: 5px 10px; font-size: 0.9em;\">Fermer<\/button>\n  <\/div>\n<\/div>\n\n<script src=\"https:\/\/player.vimeo.com\/api\/player.js\"><\/script>\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n    var iframe = document.getElementById('vimeoPlayer');\n    var player = new Vimeo.Player(iframe);\n    var isPopupDisplayed = false;\n\n    player.on('play', function() {\n        if (!isPopupDisplayed) {\n            player.on('timeupdate', function(data) {\n                if (data.seconds >= 120 && !isPopupDisplayed) { \/\/ 120 seconds = 2 minutes\n                    \/\/ Pause the video and display the popup\n                    player.pause().then(function() {\n                        if (window.innerWidth > 768) {\n                            document.querySelector('.desktop-popup').style.display = 'block';\n                        } else {\n                            document.querySelector('.mobile-popup').style.display = 'block';\n                        }\n                        fetchPriceAndUpdatePopup();\n                        isPopupDisplayed = true;\n                    });\n                }\n            });\n        }\n    });\n\n    function fetchPriceAndUpdatePopup() {\n        fetch('https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144')\n            .then(response => response.text())\n            .then(html => {\n                var parser = new DOMParser();\n                var fetchedDoc = parser.parseFromString(html, 'text\/html');\n                var priceElement = fetchedDoc.querySelector('.ammount .fw-500');\n                var originalPriceElement = fetchedDoc.querySelector('.ammount del');\n                var price = priceElement ? priceElement.textContent.trim() : '29.5\u20ac';\n                var originalPrice = originalPriceElement ? originalPriceElement.textContent.trim() : '59\u20ac';\n\n                document.getElementById('price').textContent = price;\n                document.getElementById('priceMobile').textContent = price;\n                document.querySelector('.desktop-popup del').textContent = originalPrice;\n                document.querySelector('.mobile-popup del').textContent = originalPrice;\n            })\n            .catch(error => console.error('Error fetching the price:', error));\n    }\n\n    function closePopup() {\n        document.querySelector('.desktop-popup').style.display = 'none';\n        document.querySelector('.mobile-popup').style.display = 'none';\n        player.play(); \/\/ Allows resuming the video only after closing the popup\n    }\n});\n<\/script>\n\n\n\n<p>SQLite est une biblioth\u00e8que logicielle qui fournit une base de donn\u00e9es SQL l\u00e9g\u00e8re. Utiliser Python pour <strong>supprimer des donn\u00e9es dans une base de donn\u00e9es SQLite<\/strong> est une t\u00e2che courante dans le d\u00e9veloppement de logiciels. Apprenons ensemble les diff\u00e9rentes m\u00e9thodes pour effectuer cette op\u00e9ration de mani\u00e8re s\u00fbre et efficace.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00c9tape 1 : Pr\u00e9parer l&rsquo;Environnement<\/h3>\n\n\n\n<p>Afin de travailler avec SQLite en Python, nous devons d&rsquo;abord importer le module sqlite3, qui est une partie int\u00e9grante de la biblioth\u00e8que standard Python. Ensuite, nous devons cr\u00e9er ou se connecter \u00e0 une base de donn\u00e9es SQLite existante. Pour cet exemple, nous allons utiliser une base de donn\u00e9es nomm\u00e9e <code>example.db<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code>import sqlite3\n\n# Connexion \u00e0 la base de donn\u00e9es\nconn = sqlite3.connect('example.db')\ncursor = conn.cursor()\n<\/code><\/pre>\n\n\n\n<p>Pour comprendre comment configurer un environnement Python, consultez nos guides sur comment <a href=\"https:\/\/wikiform.fr\/codespace\/installer-python-sur-mac-2024-guide-complet\" target=\"_blank\" rel=\"noopener\">installer Python sur Mac<\/a> et <a href=\"https:\/\/wikiform.fr\/codespace\/installer-python-sur-windows-facilement\" target=\"_blank\" rel=\"noopener\">installer Python sur Windows<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00c9tape 2 : Cr\u00e9er une Table et Ins\u00e9rer des Donn\u00e9es<\/h3>\n\n\n\n<p>Avant de pouvoir <strong>supprimer des donn\u00e9es<\/strong>, nous devons d&rsquo;abord cr\u00e9er une table et ins\u00e9rer quelques enregistrements. Pour cet exemple, nous cr\u00e9ons une table utilisateurs (<code>users<\/code>) et ins\u00e9rons quelques enregistrements de test.<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># Cr\u00e9ation de la table\ncursor.execute('''\nCREATE TABLE IF NOT EXISTS users (\n    id INTEGER PRIMARY KEY,\n    name TEXT NOT NULL,\n    age INTEGER\n)\n''')\n\n# Insertion de donn\u00e9es\nusers = [\n    ('Alice', 30),\n    ('Bob', 25),\n    ('Charlie', 35)\n]\n\ncursor.executemany('INSERT INTO users (name, age) VALUES (?, ?)', users)\nconn.commit()\n<\/code><\/pre>\n\n\n\n<p>Pour plus d&rsquo;informations sur la cr\u00e9ation et l&rsquo;insertion de donn\u00e9es dans SQLite, consultez nos articles <a href=\"https:\/\/wikiform.fr\/codespace\/creation-de-tables-sqlite-en-python-guide\" target=\"_blank\" rel=\"noopener\">cr\u00e9ation de tables SQLite en Python<\/a> et <a href=\"https:\/\/wikiform.fr\/codespace\/inserer-des-donnees-dans-sqlite-avec-python\" target=\"_blank\" rel=\"noopener\">ins\u00e9rer des donn\u00e9es dans SQLite avec Python<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00c9tape 3 : Suppression de Donn\u00e9es avec des Crit\u00e8res Simples<\/h3>\n\n\n\n<p>Pour supprimer des donn\u00e9es dans SQLite, nous utilisons l&rsquo;instruction SQL <code>DELETE<\/code>. Voici comment supprimer un utilisateur sp\u00e9cifique de la table.<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># Suppression d'un utilisateur avec un crit\u00e8re simple\nuser_to_delete = 'Bob'\ncursor.execute('DELETE FROM users WHERE name = ?', (user_to_delete,))\nconn.commit()\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u00c9tape 4 : Suppression de Donn\u00e9es avec des Crit\u00e8res Compos\u00e9s<\/h3>\n\n\n\n<p>Il est souvent n\u00e9cessaire de supprimer des donn\u00e9es en utilisant des crit\u00e8res compos\u00e9s. Par exemple, nous pouvons vouloir supprimer un utilisateur en fonction de son nom et de son \u00e2ge.<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># Suppression d'un utilisateur avec des crit\u00e8res compos\u00e9s\nname_to_delete = 'Alice'\nage_to_delete = 30\ncursor.execute('DELETE FROM users WHERE name = ? AND age = ?', (name_to_delete, age_to_delete))\nconn.commit()\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u00c9tape 5 : Suppression de Toutes les Donn\u00e9es d&rsquo;une Table<\/h3>\n\n\n\n<p>Si nous avons besoin de vider compl\u00e8tement une table, nous pouvons le faire en utilisant une instruction <code>DELETE<\/code> sans clause <code>WHERE<\/code>. Soyez prudent avec cette op\u00e9ration, car elle supprimera toutes les donn\u00e9es de la table.<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># Suppression de toutes les donn\u00e9es de la table\ncursor.execute('DELETE FROM users')\nconn.commit()\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u00c9tape 6 : V\u00e9rification des Suppressions<\/h3>\n\n\n\n<p>Apr\u00e8s avoir effectu\u00e9 des suppressions, il est important de v\u00e9rifier que les donn\u00e9es ont bien \u00e9t\u00e9 supprim\u00e9es. Nous pouvons le faire en s\u00e9lectionnant et affichant les donn\u00e9es restantes dans la table.<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># V\u00e9rification des suppressions\ncursor.execute('SELECT * FROM users')\nremaining_users = cursor.fetchall()\n\nprint(\"Donn\u00e9es restantes :\")\nfor user in remaining_users:\n    print(user)\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u00c9tape 7 : Pratiques de S\u00e9curit\u00e9<\/h3>\n\n\n\n<p>Lors de la suppression de donn\u00e9es, il est essentiel de suivre certaines pratiques de s\u00e9curit\u00e9 pour emp\u00eacher les suppressions non intentionnelles ou les injections SQL. Utilisez toujours des param\u00e8tres de requ\u00eate s\u00e9curis\u00e9s pour \u00e9viter les injections SQL, comme nous l&rsquo;avons fait dans les exemples pr\u00e9c\u00e9dents avec les points d&rsquo;interrogation (<code>?<\/code>).<\/p>\n\n\n\n<p>En outre, assurez-vous de toujours faire des sauvegardes de votre base de donn\u00e9es avant d&rsquo;ex\u00e9cuter des op\u00e9rations de suppression massive.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>La suppression de donn\u00e9es dans SQLite avec Python est une op\u00e9ration simple mais cruciale pour la gestion des bases de donn\u00e9es. En suivant ce guide, vous pouvez d\u00e9sormais supprimer des enregistrements individuellement, en utilisant des crit\u00e8res compos\u00e9s, ou m\u00eame vider toute une table tout en suivant les meilleures pratiques de s\u00e9curit\u00e9. Continuez \u00e0 explorer et \u00e0 pratiquer pour am\u00e9liorer vos comp\u00e9tences en gestion de bases de donn\u00e9es. Pour plus de tutoriels sur SQLite et Python, consultez nos autres articles sur ce sujet passionnant.<\/p>\n\n\n\n<a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/wikiform.fr\/codespace\/wp-content\/uploads\/2024\/07\/learnify-formation-PYTHON-offre-50.gif\" loading=\"lazy\" alt=\"Learnify Formation Python Offre 50%\" title=\"\"><\/a>\n\n\n\n<p>Pour en savoir plus sur la gestion des bases de donn\u00e9es en Python, explorez notre guide sur la <a href=\"https:\/\/wikiform.fr\/codespace\/creation-de-bases-de-donnees-sqlite-en-python\" target=\"_blank\" rel=\"noopener\">cr\u00e9ation de bases de donn\u00e9es SQLite en Python<\/a>. Si vous d\u00e9butez avec Python, nos articles sur la <a href=\"https:\/\/wikiform.fr\/codespace\/premier-programme-python-hello-world\" target=\"_blank\" rel=\"noopener\">cr\u00e9ation de votre premier programme Python<\/a> et sur le <a href=\"https:\/\/wikiform.fr\/codespace\/comprendre-les-variables-en-python\" target=\"_blank\" rel=\"noopener\">fonctionnement des variables en Python<\/a> vous seront \u00e9galement utiles.<\/p>\n\n\n\n<p>En continuant \u00e0 explorer ces sujets, vous pourrez approfondir vos connaissances et vos comp\u00e9tences en programmation Python, notamment en vous familiarisant avec les structures conditionnelles comme l&rsquo;<a href=\"https:\/\/wikiform.fr\/codespace\/utilisation-de-elif-en-python-guide-pratique\" target=\"_blank\" rel=\"noopener\">utilisation de elif en Python<\/a>, et les boucles comme la <a href=\"https:\/\/wikiform.fr\/codespace\/boucle-for-en-python-guide-pratique\" target=\"_blank\" rel=\"noopener\">boucle for en Python<\/a>.<\/p>\n\n\n\n<a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/wikiform.fr\/codespace\/wp-content\/uploads\/2024\/07\/learnify-formation-PYTHON-offre-50.gif\" loading=\"lazy\" alt=\"Learnify Formation Python Offre 50%\" title=\"\"><\/a>\n\n\n\n<p>Pour une compr\u00e9hension plus avanc\u00e9e de la suppression de donn\u00e9es dans SQLite avec Python, assurez-vous de consulter notre s\u00e9rie compl\u00e8te sur l&rsquo;insertion, la lecture et la modification des donn\u00e9es dans SQLite avec Python. Chaque article de cette s\u00e9rie offre des exemples de code clairs et des explications d\u00e9taill\u00e9es pour vous aider \u00e0 ma\u00eetriser toutes les bases n\u00e9cessaires pour travailler efficacement avec SQLite en Python.<\/p>\n\n\n\n<p>N&rsquo;oubliez pas de consulter des ressources externes comme la <a href=\"https:\/\/docs.python.org\/3\/library\/sqlite3.html\" target=\"_blank\" rel=\"noopener\">documentation officielle de sqlite3 pour Python<\/a> pour des informations suppl\u00e9mentaires et des exemples de code avanc\u00e9s.<\/p>\n\n\n\n<p>Si vous \u00eates int\u00e9ress\u00e9(e) par l&rsquo;apprentissage de la programmation Python et SQLite, notre formation compl\u00e8te sur <a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\" target=\"_blank\" rel=\"noopener\">Devenir un D\u00e9veloppeur Python<\/a> est indispensable. Profitez de cette occasion pour renforcer vos comp\u00e9tences et avancer dans votre carri\u00e8re de d\u00e9veloppeur.<\/p>\n\n\n\n<a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/wikiform.fr\/codespace\/wp-content\/uploads\/2024\/07\/learnify-formation-PYTHON-offre-50.gif\" loading=\"lazy\" alt=\"Learnify Formation Python Offre 50%\" title=\"\"><\/a>\n\n\n\n<p>Si vous avez des questions ou des commentaires sur <strong>supprimer des donn\u00e9es dans SQLite avec Python<\/strong>, n&rsquo;h\u00e9sitez pas \u00e0 laisser vos r\u00e9flexions ci-dessous. Vos contributions sont toujours les bienvenues pour am\u00e9liorer davantage cette discussion et aider d&rsquo;autres d\u00e9veloppeurs \u00e0 acqu\u00e9rir de nouvelles comp\u00e9tences.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Suppression de Donn\u00e9es dans SQLite avec Python est une comp\u00e9tence essentielle pour toute personne travaillant avec des bases de donn\u00e9es et Python. Ma\u00eetriser la suppression&#8230;<\/p>\n","protected":false},"author":4,"featured_media":2959,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[24],"tags":[18],"class_list":["post-5869","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-tutoriels"],"acf":[],"_titre_de_la_formation":null,"_description_":null,"_objectifs_pedagogiques":null,"_programme_":null,"_url_de_limage":null,"_materiel_necessaire":null,"_modalites_devaluation_des_acquis":null,"_moyens_pedagogiques_et_techniques":null,"_accessibilite_":null,"_formateur_":null,"menu_order":0,"_links":{"self":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/5869","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/comments?post=5869"}],"version-history":[{"count":1,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/5869\/revisions"}],"predecessor-version":[{"id":5870,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/5869\/revisions\/5870"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/media\/2959"}],"wp:attachment":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/media?parent=5869"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/categories?post=5869"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/tags?post=5869"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}