bonjour
je voudrais savoir s'il y a une différence entre SQLite et MySQL et si oui lesquelles ?
merci d'avance !
bonjour
je voudrais savoir s'il y a une différence entre SQLite et MySQL et si oui lesquelles ?
merci d'avance !
Salut,
Pourquoi poser cette question dans un forum Python plutôt que dans un forum base de données?
Vous pourriez aussi récupérer via votre moteur de recherche préféré des comparaisons déjà faites.
Mais la question est "quel problème cherchez vous à résoudre" ?
- W
en fait mon prof d'info (je suis en deuxième année de prépa) m'a envoyé un exercice sur SQL.
moi je travaille avec SQLite et mon prof avec MySQL
je voudrais juste savoir s'il y a des commandes qui changent ou pas, simplement pour m'adapter au SQL du prof ...
pour préciser les choses c'est un exercice à répondre en python
Bonjour,
Un différence importante, c'est que sqlite ne nécessite pas un serveur, contrairement à MySql. La conséquence est que sqlite n'est pas fait pour servir plusieurs requêtes fournies par plusieurs clients à la fois. Par contre sqlite est parfait pour servir de SGBDR dans un programme donné. En plus, dans un tel contexte, il est très rapide. Une autre conséquence est l'absence de gestion de droits d'accès: si c'est nécessaire, c'est au programme qui le porte de s'en charger.
Une autre différence importante est que sqlite n'est conforme qu'à la norme SQL de 1992. Il est donc loin d'avoir toutes les fonctionnalités de MySql, mais quand on regarde bien, il a les fonctions principales SQL qui permettent de faire des choses déjà très complexes:
- transactions,
- contraintes de clés étrangères,
- modification et suppression en cascade,
- trigger,
- sous-requêtes simples et corrélées,
- etc...
Les types de données reconnus sont assez limités: entier, flottant, texte et blob (données binaires). Par exemple, il n'y a pas de type logique (True/False) ni de type date, mais il est facile de contourner.
De plus, avec le pilote fournie avec Python, on peut ajouter des fonctions directement utilisables dans les script SQL.
Plus d'infos sur la syntaxe de sqlite: https://sqlite.org/lang.html
D'un autre côté, MySql est très courant sur le web, et s'il s'agit de l'apprendre, il est intéressant de l'utiliser pour des exercices.
Et postgresql est très bien aussi!
Salut,
SQL étant un "standard", SQLite et MySQL devraient "en gros" comprendre le même SQL.
"en gros" <=> pour débuter, çà devrait aller.
Ce qui risque de ne pas être "standard", c'est le module Python qui fait l'interface entre la base de donnée et le langage.
Dans la pratique, vous n'allez pas faire le même import, ni vous connecter de la même façon au SGDB.
C'est un détail, mais çà fera que votre programme devra être modifié au moins un peu pour fonctionner sur MySQL.
Plus embêtant, ce module devrait être conforme à un standard Python nommé DBAPI 2.0 mais ce standard là est trop mou.
Il laisse trop de libertés aux développeurs de l'interface et vous pouvez utilisez des constructions qui vont fonctionner dans un cas mais pas dans l'autre.
Pour développer une application qui s’accommode de plusieurs SGDB, on utilise un ORM comme SQLAlchemy qui ajoute une couche de finition rendant ces différences acceptables. Mais dans votre cas, ce n'est pas une option.
Que faire?
Vous pouvez faire vos exercices avec SQLite3: votre professeur devrait pouvoir les faire tourner sur sa machine car SQLite3 est livré en standard avec Python (enfin si Python est installé sur Windows, sur Linux, il faut installer un peu plus que le Python de base).
Vous installez MySQL (comme votre prof.) sans oublier d'installer la même bibliothèque côté interface.
- W
Partager