Python dans SQL Server: notions de base – Bien choisir son serveur d impression
Avec l'introduction de SQL Machine Learning Services, il est désormais possible d'exécuter des scripts Python à partir de tout client SQL Server tel que SQL Server Management Studio. En plus d'exécuter directement les scripts Python sur les clients SQL Server, vous pouvez écrire du code Python sur des éditeurs Python natifs et l'exécuter à distance sur SQL Server à l'aide de clients Python pour SQL Server.
Dans cet article, nous verrons comment exécuter certaines des fonctionnalités de base de Python dans SQL Server Management Studio. L'article fournit une introduction à l'exécution de scripts Python de base dans SQL Server Management Studio.
Sommaire
Installation de services ML et activation de scripts externes
Avant de pouvoir exécuter des scripts Python sur SQL Server, vous devez installer SQL Server avec les services Machine Learning activés. Le processus d'installation de SQL Server avec des services d'apprentissage machine a été expliqué en détail dans Configuration des services R dans SQL Server. L'article explique également comment activer les scripts externes et exécuter votre premier programme Python. Je vous conseillerais de lire cet article, de configurer l'environnement pour l'exécution du script Python, puis de revenir et de continuer cet article à partir d'ici.
Opérations de base Python
Vous trouverez ci-dessous certains types d'opérations de base que vous pouvez effectuer avec Python dans SQL Server.
Opérations arithmétiques
Vous pouvez effectuer toutes les opérations arithmétiques Python de base sur SQL Server, comme indiqué ci-dessous:
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 20 21 |
EXEC sp_configure 'scripts externes activés', 1 RECONFIGURE AVEC PASSER OUTRE EXEC sp_execute_external_script @la langue =N'Python', @scénario = N' nombre1 = 50 nombre2 = 10 résultat = nombre1 + nombre2 imprimer (résultat) résultat = nombre1 – nombre2 imprimer (résultat) résultat = nombre1 / nombre2 imprimer (résultat) résultat = nombre1 * nombre2 imprimer (résultat) résultat = nombre1% nombre2 imprimer (résultat) ' ALLER |
Dans le script ci-dessus, les opérations d'addition, de soustraction, de multiplication, de division et de module ont été effectuées sur deux nombres et le résultat a été imprimé sur la console. La sortie ressemble à ceci:
Opérations d'affectation
Les opérations d'affectation permettent d'affecter la valeur d'une constante ou d'une variable à une autre variable. SQL Server prend en charge tous les opérateurs d’affectation Python tels que assign (=), additionner et assigner (+ =), soustraire et assigner (- =), multiplier et assigner (* =), diviser et assigner (/ =), et modulus et assigner (% =). Regardez les exemples suivants:
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
EXEC sp_configure 'scripts externes activés', 1 RECONFIGURE AVEC PASSER OUTRE EXEC sp_execute_external_script @la langue =N'Python', @scénario = N' nombre1 = 50 nombre2 = 10 nombre1 + = nombre2 print (number1) nombre1 = 50 nombre2 = 10 nombre1 – = nombre2 print (number1) nombre1 = 50 nombre2 = 10 numéro1 * = numéro2 print (number1) nombre1 = 50 nombre2 = 10 numéro1 / = numéro2 print (number1) nombre1 = 50 nombre2 = 10 nombre1% = nombre2 print (number1) ' ALLER |
Sortie:
Opérations de comparaison
Certaines des opérations de comparaison Python prises en charge par SQL Server sont égales (==), non égales (! =), Supérieures à (>), supérieures ou égales à (> =), inférieures à (<), inférieures ou égales to (<=). Regardez l'exemple suivant:
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 20 |
EXEC sp_configure 'scripts externes activés', 1 RECONFIGURE AVEC PASSER OUTRE EXEC sp_execute_external_script @la langue =N'Python', @scénario = N' nombre1 = 50 nombre2 = 10 print (number1 == number2) print (number1! = number2) print (number1> number2) print (number1 <number2) print (number1> = number2) print (number1 <= number2) ' ALLER |
La sortie ressemble à ceci:
Opérations logiques
SQL Server prend en charge trois opérations logiques Python: AND, OR, NOT. Ils sont comme suit:
EXEC sp_configure 'scripts externes activés', 1 RECONFIGURE AVEC PASSER OUTRE EXEC sp_execute_external_script @la langue =N'Python', @scénario = N' print (True et True) print (vrai ou faux) imprimer (pas (vrai)) ' ALLER |
Sortie:
Déclarations IF et Else
Les instructions if / else sont utilisées pour la prise de décision en Python.
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 |
EXEC sp_configure 'scripts externes activés', 1 RECONFIGURE AVEC PASSER OUTRE EXEC sp_execute_external_script @la langue =N'Python', @scénario = N' nombre1 = 50 nombre2 = 10 si numéro1> numéro2: print ("Le nombre 1 est supérieur au nombre 2") autre: print ("Le nombre 2 est inférieur ou égal au numéro 1") ' ALLER |
Sortie:
Listes, tuples et dictionnaires
Les listes, les nuplets et les dictionnaires sont les structures de données Python les plus couramment utilisées pour stocker des collections de données.
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 20 21 22 |
EXEC sp_configure 'scripts externes activés', 1 RECONFIGURE AVEC PASSER OUTRE EXEC sp_execute_external_script @la langue =N'Python', @scénario = N' print ("Créer une liste") voitures = [« Toyota », « Honda », « Audi »] imprimer (voitures[1]) print ("Créer un tuple") cars2 = ("Ford", "Renault", "Mercedez") imprimer (voitures2[2]) print ("Créer un dictionnaire") cars3 = 1: "BMW", 2: "Suzuki", 3: "Tata" imprimer (cars3[3]) ' ALLER |
Dans le script ci-dessus, nous créons une liste «voitures», un tuple «voitures2» et un dictionnaire «voitures3». Nous affichons ensuite le deuxième élément de la liste et le troisième élément du tuple en utilisant leurs index. Enfin, nous imprimons l’article du dictionnaire avec la clé 3.
La sortie ressemble à ceci:
Boucles
Les boucles sont utilisées pour exécuter à plusieurs reprises un morceau de code. Ils peuvent également être utilisés pour parcourir les éléments d'une collection.
Pour boucle
La boucle for est utilisée pour exécuter le code de manière répétée un nombre de fois spécifié ou jusqu'à ce que tous les éléments d'une liste, d'un tuple ou d'un dictionnaire aient été itérés. Regardez l'exemple suivant:
EXEC sp_configure 'scripts externes activés', 1 RECONFIGURE AVEC PASSER OUTRE EXEC sp_execute_external_script @la langue =N'Python', @scénario = N' nombres = [1, 2, 3, 4, 5] pour num en chiffres: print (num) ' ALLER |
Dans la sortie, vous verrez tous les numéros dans la liste des «numéros», imprimés sur la console comme indiqué ci-dessous:
Alors que la boucle
La boucle "While" est exécutée jusqu'à ce que la condition spécifiée par la boucle while devienne fausse. Regardez ce code:
EXEC sp_configure 'scripts externes activés', 1 RECONFIGURE AVEC PASSER OUTRE EXEC sp_execute_external_script @la langue =N'Python', @scénario = N' num = 0 tant que num <10: print (num) num = num +1 ' ALLER |
La boucle while du script ci-dessus sera exécutée jusqu'à ce que la valeur de «num» devienne supérieure ou égale à 10.
Les fonctions
SQL Server prend également en charge les fonctions Python intégrées et personnalisées. L'exemple suivant illustre l'utilisation de la fonction Python personnalisée dans SQL Server.
EXEC sp_configure 'scripts externes activés', 1 RECONFIGURE AVEC PASSER OUTRE EXEC sp_execute_external_script @la langue =N'Python', @scénario = N' def printCube (num): print (num ** 3) printCube (5) printCube (2) ' ALLER |
Dans le script ci-dessus, nous avons défini une fonction “printCube” qui accepte un paramètre et renvoie son cube. Nous utilisons ensuite cette fonction pour trouver le cube de nombres 5 et 2 respectivement. La sortie ressemble à ceci:
Importation de bibliothèques externes
Comme tout éditeur Python, vous pouvez également importer des bibliothèques Python dans n’importe quel client SQL Server, tel que SQL Server Management Studio. Dans le script suivant, nous allons importer la bibliothèque Python Numpy et utiliser sa fonction "power" pour prendre le pouvoir d'un nombre.
EXEC sp_configure 'scripts externes activés', 1 RECONFIGURE AVEC PASSER OUTRE EXEC sp_execute_external_script @la langue =N'Python', @scénario = N' importer numpy en tant que np cube2 = np.power (2,3) cube5 = np.power (5,3) print (cube2) print (cube5) ' ALLER |
Dans la sortie, vous verrez le cube de 2 et 5.
Conclusion
SQL Server, avec l’ajout de Machine Learning Services, est capable d’exécuter des scripts Python. Dans cet article, nous avons exécuté des scripts Python pour certaines des fonctionnalités les plus élémentaires utilisant SQL Server. Nous avons vu comment exécuter diverses opérations Python, instructions de décision, instructions d'itération, listes, tuples, dictionnaires et fonctions à l'aide de SQL Server Management Studio. Après avoir lu cet article, vous devriez être à l'aise avec l'exécution de scripts Python de base sur SSMS.
Ben Richardson
Voir tous les messages de Ben Richardson
Commentaires
Laisser un commentaire