{"id":22332,"date":"2022-12-20T06:17:00","date_gmt":"2022-12-20T05:17:00","guid":{"rendered":"https:\/\/expert-only.com\/?p=22332"},"modified":"2023-02-13T10:55:57","modified_gmt":"2023-02-13T09:55:57","slug":"se-connecter-a-sql-server-avec-python","status":"publish","type":"post","link":"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/","title":{"rendered":"Comment g\u00e9rer des tables SQL Server avec Python ?"},"content":{"rendered":"\n<h4 class=\"has-text-align-center wp-block-heading\" id=\"h-comment-se-connecter-a-une-base-de-donnees-et-gerer-des-tables-sql-server-avec-des-scripts-python-et-la-bibliotheque-pyodbc\"><em>Comment se connecter \u00e0 une base de donn\u00e9es et g\u00e9rer des tables <em>SQL Server<\/em><\/em> <em>avec des scripts Python et la biblioth\u00e8que pyodbc ?<\/em><\/h4>\n\n\n\n<p>Bienvenue dans ce tutoriel pour apprendre \u00e0 se connecter \u00e0 SQL Server et g\u00e9rer les tables avec du code \u00e9crit en langage Python ! Et ainsi g\u00e9rer les tables dans les bases de donn\u00e9es MS SQL avec le module pyodbc et le language T-SQL! En effet,  vous apprendrez \u00e0 utiliser Python pour interagir avec une base de donn\u00e9es SQL Server. Que vous soyez d\u00e9butant ou utilisateur avanc\u00e9, ce cours vous fournira les connaissances et les comp\u00e9tences n\u00e9cessaires pour travailler avec SQL Server en Python. Dans le tutoriel Python pr\u00e9c\u00e9dent, nous avons vu comment g\u00e9rer les fichiers texte en utilisant Python et des scripts simples.<\/p>\n\n\n\n<p>Dans cette section, nous aborderons les bases de la connexion \u00e0 une base de donn\u00e9es SQL Server en utilisant Python. Nous utiliserons la biblioth\u00e8que pyodbc. Pyodbc est une biblioth\u00e8que populaire et il est beaucoup plus facile de travailler avec des bases de donn\u00e9es SQL Server en utilisant Python.<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/#1-installer-le-module-python-pyodbc\" >1. Installer le module Python pyodbc<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/#2-se-connecter-a-une-base-de-donnees-sql-server-avec-python\" >2. Se connecter \u00e0 une base de donn\u00e9es SQL Server avec Python<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/#3-creer-une-table-sql-server-en-python\" >3. Cr\u00e9er une table SQL Server en Python<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/#4-inserer-des-donnees-dans-une-table-sql-en-langage-python\" >4. Ins\u00e9rer des donn\u00e9es dans une table SQL en langage Python<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/#5-executer-une-requete-sql-server-select-depuis-python\" >5. Ex\u00e9cuter une requ\u00eate SQL Server SELECT depuis Python<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/#6-requete-sql-server-update-en-python\" >6. Requ\u00eate SQL Server UPDATE en Python<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/#7-requetes-delete-avec-python-et-sql-server\" >7. Requ\u00eates DELETE avec Python et SQL Server<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/#8-conclusion-sur-les-objets-ms-sql-et-python\" >8. Conclusion sur les objets MS SQL et Python<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"1-installer-le-module-python-pyodbc\"><\/span>1. Installer le module Python pyodbc <span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Tout d&rsquo;abord, vous devrez installer la biblioth\u00e8que pyodbc. Vous pouvez le faire en ex\u00e9cutant la commande suivante dans votre invite de commande ou terminal.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">pip install pyodbc<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"2-se-connecter-a-une-base-de-donnees-sql-server-avec-python\"><\/span>2. Se connecter \u00e0 une base de donn\u00e9es SQL Server avec Python<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Une fois la biblioth\u00e8que install\u00e9e, importez-la dans le script Python \u00e0 l&rsquo;aide de la fonction d&rsquo;import, et utilisez-la pour cr\u00e9er une connexion \u00e0 la base de donn\u00e9es SQL Server. Le script ci-dessous effectue ces deux op\u00e9rations.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Importer la biblioth\u00e8que pyodbc<\/li>\n\n\n\n<li>Utiliser la m\u00e9thode connect() pour cr\u00e9er une connexion \u00e0 la base de donn\u00e9es SQL Server, et passer les informations n\u00e9cessaires :\n<ul class=\"wp-block-list\">\n<li>Le pilote SQL : <strong>{SQL Server}<\/strong><\/li>\n\n\n\n<li>Le nom du serveur : <strong>localhost<\/strong><\/li>\n\n\n\n<li>Nom de la base de donn\u00e9es : <strong>Expert-Only<\/strong><\/li>\n\n\n\n<li>Et si la connexion doit \u00eatre consid\u00e9r\u00e9e comme fiable ou non : <strong>oui<\/strong>.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import pyodbc\n\nconnection = pyodbc.connect('Driver={SQL Server};'\n                            'Server=server_name;'\n                            'Database=database_name;'\n                            'Trusted_Connection=yes;')<\/pre>\n\n\n\n<p>Dans le script ci-dessus, nous importons la biblioth\u00e8que <em>pyodbc<\/em> et utilisons la m\u00e9thode connect() pour cr\u00e9er une connexion \u00e0 la base de donn\u00e9es SQL Server. Nous passons les informations n\u00e9cessaires telles que le nom du serveur, le nom de la base de donn\u00e9es et si la connexion doit \u00eatre fiable ou non.<\/p>\n\n\n\n<p>Une fois que vous avez une connexion \u00e0 la base de donn\u00e9es SQL Server, vous pouvez l&rsquo;utiliser pour ex\u00e9cuter des requ\u00eates. Dans les prochaines sections, nous couvrirons comment ex\u00e9cuter diff\u00e9rents types de requ\u00eates en utilisant Python.<\/p>\n\n\n\n<p>Pour travailler avec SQL Server en utilisant Python, les op\u00e9rations de base de donn\u00e9es les plus utilis\u00e9es sont SELECT, UPDATE et DELETE. Pour les utiliser, pr\u00e9parez d&rsquo;abord la table et ins\u00e9rez quelques lignes d&rsquo;exemple.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"3-creer-une-table-sql-server-en-python\"><\/span>3. Cr\u00e9er une table SQL Server en Python<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Tout d&rsquo;abord, importez la biblioth\u00e8que <strong><em>pyodbc<\/em><\/strong> et cr\u00e9ez la connexion avec le serveur, puis cr\u00e9ez un objet curseur pour ex\u00e9cuter la requ\u00eate SQL qui cr\u00e9e la table clients, puis validez la transaction, et enfin fermez le curseur et la connexion au serveur. Ci-dessous est un <strong>exemple pratique d&rsquo;une cha\u00eene de connexion Python<\/strong> pour se connecter \u00e0 une <a href=\"https:\/\/expert-only.com\/fr\/dba\/creer-une-base-avec-ssms\/\">base de donn\u00e9es SQL Server<\/a>.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import pyodbc\n\nconnection = pyodbc.connect('Driver={SQL Server};'\n                            'Server=localhost;'\n                            'Database=Expert-Only;'\n                            'Trusted_Connection=yes;')\n\n# Cr\u00e9er un object de type curseur en Python\ncursor = connection.cursor()\n\n# Create the customers table\ncreate_table_query = \"\"\"\nCREATE TABLE [dbo].[Customers](\n   [CustomerID] [int] NOT NULL,\n   [FirstName] [nvarchar](20) NULL,\n   [LastName] [nvarchar](20) NULL,\n   [City] [nvarchar](20) NULL,\n   [Country] [nvarchar](50) NULL,\n   CONSTRAINT [CustomersPrimaryKeyCustomerID] \n      PRIMARY KEY CLUSTERED ([CustomerID] ASC)\n);\n\"\"\"\ncursor.execute(create_table_query)\n\n# Valider la transaction dans la base SQL avec commit\nconnection.commit()\n\n# Close the cursor and the connection\ncursor.close()\nconnection.close()<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"4-inserer-des-donnees-dans-une-table-sql-en-langage-python\"><\/span>4. Ins\u00e9rer des donn\u00e9es dans une table SQL en langage Python<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Une autre requ\u00eate courante est la requ\u00eate INSERT, qui est utilis\u00e9e pour ins\u00e9rer des donn\u00e9es dans une table. Pour ex\u00e9cuter une requ\u00eate INSERT, vous pouvez utiliser la m\u00e9thode cursor() pour cr\u00e9er un objet curseur, puis utiliser la m\u00e9thode execute() pour ex\u00e9cuter la requ\u00eate.<\/p>\n\n\n\n<p>Dans le script suivant, nous utilisons une instruction INSERT INTO pour ins\u00e9rer 10 lignes de donn\u00e9es dans la table Clients. Nous passons les valeurs pour les colonnes suivantes : <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>CustomerID<\/li>\n\n\n\n<li>FirstName<\/li>\n\n\n\n<li>LastName<\/li>\n\n\n\n<li>City<\/li>\n\n\n\n<li>et Country.<\/li>\n<\/ul>\n\n\n\n<p>Les valeurs sont au format (1, &lsquo;Ali&rsquo;, &lsquo;Ahmed&rsquo;, &lsquo;Le Caire&rsquo;, &lsquo;Egypte&rsquo;). Assurez-vous que les noms de colonnes et les types de donn\u00e9es correspondent \u00e0 votre sch\u00e9ma de table.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># Insert data into the customers table\ninsert_query = \"\"\"\nINSERT INTO Customers (CustomerID, FirstName, LastName, City, Country)\nVALUES (1, 'Ali', 'Ahmed', 'Cairo', 'Egypt'),\n       (2, 'Johnny', 'John', 'Toronto', 'Canada'),\n       (3, 'John', 'Doe', 'Mexico City', 'Mexico'),\n       (4, 'Shu', 'Abbas', 'Paris', 'France'),\n       (5, 'Jeane', 'Raffin', 'Liushutun', 'China'),\n       (6, 'Legra', 'Leate', 'Baszki', 'Poland'),\n       (7, 'Sullivan', 'Goadby', 'Xiaoguwei', 'China'),\n       (8, 'Tom', 'Ellams', 'Lop Buri', 'Thailand'),\n       (9, 'Trace', 'Fowell', 'Sriwing', 'Indonesia'),\n       (10, 'Christoffer', 'Rochford', 'Mburukullu', 'Indonesia')\n\"\"\"\ncursor.execute(insert_query)\nprint(cursor.rowcount, \" rows inserted\")\n\n# Valider les changements dans la base avec commit\nconnection.commit()<\/pre>\n\n\n\n<p>Le script affiche \u00e9galement le nombre de lignes ins\u00e9r\u00e9es dans la table en utilisant la m\u00e9thode rowcount du curseur.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"800\" src=\"https:\/\/expert-only.com\/wp-content\/uploads\/2023\/01\/python-sql-server-pyodbc-insert-query.jpg\" alt=\"Comment se connecter \u00e0 SQL Server en Python ?\" class=\"wp-image-21759\" srcset=\"https:\/\/expert-only.com\/wp-content\/uploads\/2023\/01\/python-sql-server-pyodbc-insert-query.jpg 720w, https:\/\/expert-only.com\/wp-content\/uploads\/2023\/01\/python-sql-server-pyodbc-insert-query-270x300.jpg 270w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><figcaption class=\"wp-element-caption\">Comment se connecter \u00e0 SQL Server en Python ?<\/figcaption><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"5-executer-une-requete-sql-server-select-depuis-python\"><\/span>5. Ex\u00e9cuter une requ\u00eate SQL Server SELECT depuis Python<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>La requ\u00eate SELECT est le type de requ\u00eate le plus couramment utilis\u00e9 pour r\u00e9cup\u00e9rer des donn\u00e9es d&rsquo;une table. Pour ex\u00e9cuter une requ\u00eate SELECT, vous pouvez utiliser la m\u00e9thode <em>cursor()<\/em> pour cr\u00e9er un objet curseur, puis la m\u00e9thode execute() pour ex\u00e9cuter la requ\u00eate. Une fois la requ\u00eate ex\u00e9cut\u00e9e, la m\u00e9thode <em>fetchall()<\/em> peut \u00eatre utilis\u00e9e pour r\u00e9cup\u00e9rer toutes les lignes renvoy\u00e9es par la requ\u00eate.<\/p>\n\n\n\n<p>Dans ce script, un objet curseur est cr\u00e9\u00e9 et une requ\u00eate SELECT est ex\u00e9cut\u00e9e sur la table des clients, nomm\u00e9e <em>Customers<\/em>. La m\u00e9thode <em>fetchall()<\/em> est utilis\u00e9e pour r\u00e9cup\u00e9rer toutes les lignes de la requ\u00eate et les stocker dans la variable <strong><em>rows<\/em><\/strong>, puis le script it\u00e8re \u00e0 travers les lignes et affiche les donn\u00e9es. Enfin, le curseur et la connexion sont ferm\u00e9s.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># Cr\u00e9er un object de type curseur\ncursor = connection.cursor()\n\n# Execute the SELECT query to retrieve data from the Customers table\ncursor.execute(\"SELECT * FROM Customers\")\n\n# Fetch all rows from the query\nrows = cursor.fetchall()\n\n# Iterate through the rows and print the data\nfor row in rows:\n    print(row)\n\n# Close the cursor and the connection\ncursor.close()\nconnection.close()<\/pre>\n\n\n\n<p>Il faut garder \u00e0 l&rsquo;esprit que pour s\u00e9lectionner uniquement des colonnes sp\u00e9cifiques, il est n\u00e9cessaire modifier l&rsquo;instruction SELECT *, qui s\u00e9lectionne toute les colonnes de la table, en SELECT CustomerID, lastname, firstname FROM Customers, par exemple.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"780\" src=\"https:\/\/expert-only.com\/wp-content\/uploads\/2023\/01\/python-sql-server-pyodbc-select-query-and-print-data.jpg\" alt=\"Script Python pour ex\u00e9cuter une requ\u00eate SQL Server Select\" class=\"wp-image-21766\" srcset=\"https:\/\/expert-only.com\/wp-content\/uploads\/2023\/01\/python-sql-server-pyodbc-select-query-and-print-data.jpg 720w, https:\/\/expert-only.com\/wp-content\/uploads\/2023\/01\/python-sql-server-pyodbc-select-query-and-print-data-277x300.jpg 277w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><figcaption class=\"wp-element-caption\">Script Python pour ex\u00e9cuter une requ\u00eate SQL Server Select<\/figcaption><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"6-requete-sql-server-update-en-python\"><\/span>6. Requ\u00eate SQL Server UPDATE en Python<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Un autre type courant de requ\u00eate est la requ\u00eate UPDATE, utilis\u00e9e pour mettre \u00e0 jour des donn\u00e9es dans une table SQL. Pour ex\u00e9cuter une requ\u00eate de mise \u00e0 jour, une option est d&rsquo;utiliser la m\u00e9thode <strong><em>cursor()<\/em><\/strong> pour cr\u00e9er un objet de type curseur, puis utiliser la m\u00e9thode <strong><em>execute()<\/em><\/strong> pour ex\u00e9cuter la requ\u00eate SQL Server.<\/p>\n\n\n\n<p>Comme pour toutes les requ\u00eates qui effectuent une modification des donn\u00e9es, il est important de syst\u00e9matiquement valider la transaction apr\u00e8s l&rsquo;ex\u00e9cution d&rsquo;une requ\u00eate UPDATE. Cette validation permet d&rsquo;enregistrer les modifications de mani\u00e8re effective dans la table, et d&rsquo;\u00e9crire les donn\u00e9es physiquement dans <a href=\"https:\/\/expert-only.com\/fr\/dba\/creer-une-base-sql-server-avec-un-script\/\">la base de donn\u00e9es MS SQL<\/a>.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># Cr\u00e9er un object de type curseur\ncursor = connection.cursor()\n\n# Execute the UPDATE query to update data in the Customers table\ncursor.execute(\"UPDATE Customers SET City = 'New York' WHERE CustomerID = 1\")\n\n# Valider les changements dans la base avec commit\nconnection.commit()\n\n# Close the cursor and the connection\ncursor.close()\nconnection.close()<\/pre>\n\n\n\n<p>Ce script cr\u00e9e un objet curseur et ex\u00e9cute une requ\u00eate UPDATE sur la table Customers en utilisant la m\u00e9thode cursor.execute(). La requ\u00eate met \u00e0 jour la valeur de la colonne City \u00e0 &lsquo;New York&rsquo; lorsque CustomerID est \u00e9gal \u00e0 1. La m\u00e9thode connection.commit() est utilis\u00e9e pour valider les modifications dans la base de donn\u00e9es. Enfin, le curseur et la connexion sont ferm\u00e9s.<\/p>\n\n\n\n<p>Bien s\u00fbr, pour mettre \u00e0 jour plusieurs colonnes en m\u00eame temps, il suffit d&rsquo;adapter la liste des champs et de modifier la clause WHERE pour sp\u00e9cifier les lignes \u00e0 mettre \u00e0 jour en ajoutant des conditions. D&rsquo;autres scripts utiles pour g\u00e9rer les tables sont les types de donn\u00e9es listes en Python.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"7-requetes-delete-avec-python-et-sql-server\"><\/span>7. Requ\u00eates DELETE avec Python et SQL Server<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Un autre type courant de requ\u00eate est la requ\u00eate DELETE, qui est utilis\u00e9e pour supprimer des donn\u00e9es d&rsquo;une table. Pour ex\u00e9cuter une requ\u00eate DELETE, vous pouvez utiliser la m\u00e9thode cursor() pour cr\u00e9er un objet curseur, puis utiliser la m\u00e9thode execute() pour ex\u00e9cuter la requ\u00eate.<\/p>\n\n\n\n<p>Comme pour les requ\u00eates SQL INSERT et UPDATE, il est important de valider la transaction apr\u00e8s l&rsquo;ex\u00e9cution d&rsquo;une requ\u00eate DELETE pour enregistrer les modifications dans la table.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># Cr\u00e9er un object de type curseur\ncursor = connection.cursor()\n\n# Execute the DELETE query to delete data from the Customers table\ncursor.execute(\"DELETE FROM Customers WHERE CustomerID = 1\")\n\n# Valider les changements dans la base avec commit\nconnection.commit()\n\n# Close the cursor and the connection\ncursor.close()\nconnection.close()<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"8-conclusion-sur-les-objets-ms-sql-et-python\"><\/span>8. Conclusion sur les objets MS SQL et Python<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Dans ce cours, nous avons d\u00e9couvert les scripts de base pour g\u00e9rer des tables SQL Server avec des scripts Python. Pour ce faire, utiliser la <a href=\"https:\/\/code-garage.fr\/blog\/librairie-vs-framework-quelle-est-la-difference\/\" target=\"_blank\" rel=\"noreferrer noopener\">biblioth\u00e8que<\/a> Python pyodbc et ses diff\u00e9rentes m\u00e9thodes. Par exemple, comment se connecter \u00e0 une base de donn\u00e9es SQL Server? Ou encore comment ex\u00e9cuter diff\u00e9rents types de requ\u00eates et comment effectuer des transactions. C&rsquo;est juste le d\u00e9but de ce que vous pouvez faire avec Python et une base de donn\u00e9es SQL Server.<\/p>\n\n\n\n<p>En effet, avec ces exemples pratiques, il est possible de construire des scripts et des applications beaucoup plus complexes. Le but \u00e9tant d&rsquo;interagir avec des bases de donn\u00e9es SQL Server. J&rsquo;esp\u00e8re que vous avez appr\u00e9ci\u00e9 ce tutoriel et je vous encourage \u00e0 continuer \u00e0 apprendre et \u00e0 exp\u00e9rimenter avec Python.<\/p>\n\n\n\n<p>Pour aller plus loin il est possible de modulariser et r\u00e9utiliser votre code. Pour cela utiliser les fonctions d\u00e9finies par l&rsquo;utilisateur en Python pour cr\u00e9er du code personnalis\u00e9.<\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>Comment se connecter \u00e0 une base de donn\u00e9es et g\u00e9rer des tables SQL Server avec des scripts Python et la biblioth\u00e8que pyodbc ? Bienvenue dans ce tutoriel pour apprendre \u00e0 se connecter \u00e0 SQL Server et g\u00e9rer les tables <a class=\"mh-excerpt-more\" href=\"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/\" title=\"Comment g\u00e9rer des tables SQL Server avec Python ?\">&#8230;<\/a><\/p>\n<\/div>","protected":false},"author":1,"featured_media":10577,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[656],"tags":[],"class_list":{"0":"post-22332","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-python"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.7 (Yoast SEO v26.2) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Comment g\u00e9rer des tables SQL Server avec Python ? pyodbc<\/title>\n<meta name=\"description\" content=\"Comment g\u00e9rer des tables SQL Server avec Python ? Utiliser le module pyodbc pour cr\u00e9er une table, s\u00e9lectionner ou mettre \u00e0 jour des donn\u00e9es.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Comment g\u00e9rer des tables SQL Server avec Python ?\" \/>\n<meta property=\"og:description\" content=\"Comment g\u00e9rer des tables SQL Server avec Python ? Utiliser le module pyodbc pour cr\u00e9er une table, s\u00e9lectionner ou mettre \u00e0 jour des donn\u00e9es.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Tutoriels SQL et IT\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ExpertOnlyCom\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-20T05:17:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-02-13T09:55:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/expert-only.com\/wp-content\/uploads\/2022\/09\/computer-hard-drive-119FE30BFC9_1920x1080.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Expert-Only\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@expert_only\" \/>\n<meta name=\"twitter:site\" content=\"@expert_only\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Expert-Only\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/\"},\"author\":{\"name\":\"Expert-Only\",\"@id\":\"https:\/\/expert-only.com\/fr\/#\/schema\/person\/406a9576b52944f018739a42046873ef\"},\"headline\":\"Comment g\u00e9rer des tables SQL Server avec Python ?\",\"datePublished\":\"2022-12-20T05:17:00+00:00\",\"dateModified\":\"2023-02-13T09:55:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/\"},\"wordCount\":1466,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/expert-only.com\/fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/expert-only.com\/wp-content\/uploads\/2022\/09\/computer-hard-drive-119FE30BFC9_1920x1080.jpg\",\"articleSection\":[\"Python\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/\",\"url\":\"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/\",\"name\":\"Comment g\u00e9rer des tables SQL Server avec Python ? pyodbc\",\"isPartOf\":{\"@id\":\"https:\/\/expert-only.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/expert-only.com\/wp-content\/uploads\/2022\/09\/computer-hard-drive-119FE30BFC9_1920x1080.jpg\",\"datePublished\":\"2022-12-20T05:17:00+00:00\",\"dateModified\":\"2023-02-13T09:55:57+00:00\",\"description\":\"Comment g\u00e9rer des tables SQL Server avec Python ? Utiliser le module pyodbc pour cr\u00e9er une table, s\u00e9lectionner ou mettre \u00e0 jour des donn\u00e9es.\",\"breadcrumb\":{\"@id\":\"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/#primaryimage\",\"url\":\"https:\/\/expert-only.com\/wp-content\/uploads\/2022\/09\/computer-hard-drive-119FE30BFC9_1920x1080.jpg\",\"contentUrl\":\"https:\/\/expert-only.com\/wp-content\/uploads\/2022\/09\/computer-hard-drive-119FE30BFC9_1920x1080.jpg\",\"width\":1920,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/expert-only.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Comment g\u00e9rer des tables SQL Server avec Python ?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/expert-only.com\/fr\/#website\",\"url\":\"https:\/\/expert-only.com\/fr\/\",\"name\":\"Tutoriels SQL et IT\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/expert-only.com\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/expert-only.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/expert-only.com\/fr\/#organization\",\"name\":\"Expert-Only\",\"url\":\"https:\/\/expert-only.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/expert-only.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/expert-only.com\/wp-content\/uploads\/2017\/09\/cropped-logo_Expert-Only.jpg\",\"contentUrl\":\"https:\/\/expert-only.com\/wp-content\/uploads\/2017\/09\/cropped-logo_Expert-Only.jpg\",\"width\":381,\"height\":174,\"caption\":\"Expert-Only\"},\"image\":{\"@id\":\"https:\/\/expert-only.com\/fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/ExpertOnlyCom\/\",\"https:\/\/x.com\/expert_only\",\"https:\/\/www.youtube.com\/channel\/UCMS5sR_FwAetB0FmciNvUaA\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/expert-only.com\/fr\/#\/schema\/person\/406a9576b52944f018739a42046873ef\",\"name\":\"Expert-Only\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/expert-only.com\/fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/084b15660763ff5b13bb60b2f52f97bb?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/084b15660763ff5b13bb60b2f52f97bb?s=96&d=identicon&r=g\",\"caption\":\"Expert-Only\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Comment g\u00e9rer des tables SQL Server avec Python ? pyodbc","description":"Comment g\u00e9rer des tables SQL Server avec Python ? Utiliser le module pyodbc pour cr\u00e9er une table, s\u00e9lectionner ou mettre \u00e0 jour des donn\u00e9es.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/","og_locale":"fr_FR","og_type":"article","og_title":"Comment g\u00e9rer des tables SQL Server avec Python ?","og_description":"Comment g\u00e9rer des tables SQL Server avec Python ? Utiliser le module pyodbc pour cr\u00e9er une table, s\u00e9lectionner ou mettre \u00e0 jour des donn\u00e9es.","og_url":"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/","og_site_name":"Tutoriels SQL et IT","article_publisher":"https:\/\/www.facebook.com\/ExpertOnlyCom\/","article_published_time":"2022-12-20T05:17:00+00:00","article_modified_time":"2023-02-13T09:55:57+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/expert-only.com\/wp-content\/uploads\/2022\/09\/computer-hard-drive-119FE30BFC9_1920x1080.jpg","type":"image\/jpeg"}],"author":"Expert-Only","twitter_card":"summary_large_image","twitter_creator":"@expert_only","twitter_site":"@expert_only","twitter_misc":{"\u00c9crit par":"Expert-Only","Dur\u00e9e de lecture estim\u00e9e":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/#article","isPartOf":{"@id":"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/"},"author":{"name":"Expert-Only","@id":"https:\/\/expert-only.com\/fr\/#\/schema\/person\/406a9576b52944f018739a42046873ef"},"headline":"Comment g\u00e9rer des tables SQL Server avec Python ?","datePublished":"2022-12-20T05:17:00+00:00","dateModified":"2023-02-13T09:55:57+00:00","mainEntityOfPage":{"@id":"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/"},"wordCount":1466,"commentCount":0,"publisher":{"@id":"https:\/\/expert-only.com\/fr\/#organization"},"image":{"@id":"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/#primaryimage"},"thumbnailUrl":"https:\/\/expert-only.com\/wp-content\/uploads\/2022\/09\/computer-hard-drive-119FE30BFC9_1920x1080.jpg","articleSection":["Python"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/","url":"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/","name":"Comment g\u00e9rer des tables SQL Server avec Python ? pyodbc","isPartOf":{"@id":"https:\/\/expert-only.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/#primaryimage"},"image":{"@id":"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/#primaryimage"},"thumbnailUrl":"https:\/\/expert-only.com\/wp-content\/uploads\/2022\/09\/computer-hard-drive-119FE30BFC9_1920x1080.jpg","datePublished":"2022-12-20T05:17:00+00:00","dateModified":"2023-02-13T09:55:57+00:00","description":"Comment g\u00e9rer des tables SQL Server avec Python ? Utiliser le module pyodbc pour cr\u00e9er une table, s\u00e9lectionner ou mettre \u00e0 jour des donn\u00e9es.","breadcrumb":{"@id":"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/#primaryimage","url":"https:\/\/expert-only.com\/wp-content\/uploads\/2022\/09\/computer-hard-drive-119FE30BFC9_1920x1080.jpg","contentUrl":"https:\/\/expert-only.com\/wp-content\/uploads\/2022\/09\/computer-hard-drive-119FE30BFC9_1920x1080.jpg","width":1920,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/expert-only.com\/fr\/python\/se-connecter-a-sql-server-avec-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/expert-only.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Comment g\u00e9rer des tables SQL Server avec Python ?"}]},{"@type":"WebSite","@id":"https:\/\/expert-only.com\/fr\/#website","url":"https:\/\/expert-only.com\/fr\/","name":"Tutoriels SQL et IT","description":"","publisher":{"@id":"https:\/\/expert-only.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/expert-only.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/expert-only.com\/fr\/#organization","name":"Expert-Only","url":"https:\/\/expert-only.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/expert-only.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/expert-only.com\/wp-content\/uploads\/2017\/09\/cropped-logo_Expert-Only.jpg","contentUrl":"https:\/\/expert-only.com\/wp-content\/uploads\/2017\/09\/cropped-logo_Expert-Only.jpg","width":381,"height":174,"caption":"Expert-Only"},"image":{"@id":"https:\/\/expert-only.com\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/ExpertOnlyCom\/","https:\/\/x.com\/expert_only","https:\/\/www.youtube.com\/channel\/UCMS5sR_FwAetB0FmciNvUaA"]},{"@type":"Person","@id":"https:\/\/expert-only.com\/fr\/#\/schema\/person\/406a9576b52944f018739a42046873ef","name":"Expert-Only","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/expert-only.com\/fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/084b15660763ff5b13bb60b2f52f97bb?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/084b15660763ff5b13bb60b2f52f97bb?s=96&d=identicon&r=g","caption":"Expert-Only"}}]}},"_links":{"self":[{"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/posts\/22332","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/comments?post=22332"}],"version-history":[{"count":0,"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/posts\/22332\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/media\/10577"}],"wp:attachment":[{"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/media?parent=22332"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/categories?post=22332"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/tags?post=22332"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}