IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

[python 2,6] [sqlite3] (sqlAlchemy?)


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Avatar de antoinev2
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 177
    Par défaut [python 2,6] [sqlite3] (sqlAlchemy?)
    Bonjour,

    J'apprends à utiliser le module sqlite3, j'ai du mal à trouver de la doc, elle est souvent courte ou manque d'exemples concrets.

    J'arrive à utiliser une requête en utilisant un objet cursor et fetchone().
    Mais je voudrais utiliser une requête que j'ai créée par l'instruction sql "CREATE VIEW ...", et là je ne sais pas comment faire.

    Je cherche à maîtriser l'utilisation d'une base sqlite en général, autant qu'à résoudre ce problème particulier.

    J'ai l'impression que l'exploitation est moins facile qu'avec, par exemple, une base MS Access et la bibliothèque DAO... Mais je tiens bien sûr à persister et signer en python (autant être clair)

    Pour m'entraîner, je code un petit soft qui va utiliser une base.
    Je crée au départ la base en mode shell, par le module sqlite3.
    Mais pour les fonctions dans mes modules, qui exploiteront ensuite la base, me conseillez-vous plutôt sqlite3 ou sqlAlchemy? Ou autre?

    Si je suis passé bêtement à côté de tutoriels, je suis preneur.
    J'ai commencé à écrire un tuto, qui ne se veut pas forcément complet à 100% mais qui expliquera le principal pour créer et exploiter une base de données relativement simple, avec beaucoup d'exemples concrets.

    Toute personne qui souhaiterait m'aider dans cette tâche serait la bienvenue, sachant que pour ma part je suis relativement débutant et que j'y consacre un temps limité (mais régulier, et je suis motivé!).

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Salut,


    Ce que tu dis de sqlite3 ne m’étonne pas du tout.

    Je me suis amusé il y a 3 mois à répondre à une question sur sqlite3 alors que je ne connaissais pas ce SGBD, ni même aucun autre, parce que le problème posé n’avait pas eu de réponse satisfaisante et que ça m’a permis ainsi de débuter l’apprentissage de ce SGBD qui me semblait être très communément utilisé en même temps que plus abordable, en tant que “lite“, et être aussi un bon tremplin vers MySQL.

    Hélas, j’ai vite ressenti une forte aversion envers sqlite3 , en premier lieu à cause de la documentation qui m’apparaît exécrable (le novice que j’étais n’y comprenais rien) mais aussi le fonctionnement lui-même que j’ose qualifier de médiocre malgré mon peu de connaissances en informatique.

    On aura compris: ce SGBD m’a bien bien tapé sur le système.



    C’est dommage que tu veuilles persévérer à apprendre sqlite3 malgré tes propres critiques. Cette persévérance me déconcerte: pourquoi persister dans une voie qui ne manifeste pas de grandes qualités dés le départ ? Il y a tellement de ressources diverses qu’il est dommage de perdre sont temps avec des trucs sans mérite (ouais ouais je sais je tape fort... ça soulage )

    Enfin bref, c’est dommage parce que je trouve ton idée de tutoriel et son esprit très bien. Mais je ne pourrai pas t’aider parce que j’ai décidé de me défier de ce machin lite.





    Ceci dit, j’ai commis il y a 3 mois un post un tantinet longuet qui contient mes critiques envers sqlite3 (pas le module Python, le SGBD) de façon plus développée et surtout, ce qui est susceptible de t’intéresser plus, une réponse d’ordre technique au problème qui était posé, avec fors explications détaillées, dans laquelle je pense que tu pourras trouver des éléments profitable pour ton apprentissage et ton tutoriel.

    http://www.developpez.net/forums/d77...e/#post4468844





    Personnellement, je souhaite acquérir la connaissance d’un SGBD pour des petits usages personnels. Je n’ai pas encore choisi. Hors mon essai décevant de sqlite3, je ne sais pas trop comment choisir. La parution dans un Linux Magazine Hors Série de ces temps-ci d’un dossier sur PostGRESQL dont une version très améliorée et séduisante à plus d’un autre est sortie, me pousse vers ce SGBD.

    J’avais lu aussi des éloges sur InterBase dans un forum SGBD.

  3. #3
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut
    Salut

    La documentation que tu cherches mais ne trouves pas est sans doute cette de SQLite lui-même, ce que tu peux trouver à cette adresse:
    http://www.sqlite.org/docs.html

    Concernant la qualité de SQLite, je ne suis clairement pas de l'avis de Eyquem. Sqlite est une excellente base de donnée, très complète et très pratique dans pas mal de cas. Et si mes souvenirs sont justes, cette librairie a été élue lib C ou Open Source de l'année en 2006 ou 2007 par je ne sais plus quelle grosse entité.

    Concernant l'API python, toutes les requêtes passent par le même chemin, c'est à dire curseur.execute, qu'elles concernent une table, une vue, la base de donnée...

    Tu compares l'utilisation avec MS Access et ses librairies de DAO, mais tu ne travailles pas sur le même niveau. Les DAO d'Access se basent sur des requêtes SQL eux aussi. C'est à toi de créer tes propres DAO pour ton application avec SQLite, ou d'en utiliser des tous faits.

    SQLAlchemy en fait partie d'ailleurs. Enfin, c'est même plus qu'un pattern DAO, c'est un ORM (Object/Relational Mapper). Ce dernier permet de faire une abstraction complète du SQL, ou de s'en servir pour les requêtes les plus complexes.


    Si tu ne connais pas encore bien le SQL, je ne peux que t'encourager à lire plus à ce sujet: http://sgbd.developpez.com/cours/#coursql
    L'API python pour sqlite est clairement expliquée chez python: http://docs.python.org/library/sqlite3.html
    Et SQLAlchemy ont bien entendu leurs propres tutoriels: http://www.sqlalchemy.org/docs/05/index.html

    Pour des petits projets, tu peux surement te passer de SQLAlchemy. Mais à plus long terme, ça devient réellement un investissement intéressant ! Il est sous license MIT en plus, donc je ne vois aucune raison de se priver

  4. #4
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Mai 2002
    Messages : 309
    Par défaut
    Je suis du même avis que Antoine_935.

    J'ajouterai que;
    - la lib de python et largement sufisante pour utiliser Sqlite, pas besoin d'autre chose.
    - Pour développer une base qui demande plus de possibilités, il y a Firebird (pour Python 2) ou Postgres (pour Python 2 et 3 ).

  5. #5
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Pour toutes ces librairies, existent-ils des exemples "simples" et concrets ?

  6. #6
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut
    "Ces" librairies. Quelles librairies ?

    Si tu parles de SQLite, la page de la doc python offre d'entrée de jeu deux exemples concrets, simples, et largement suffisants pour commencer.
    Ceci à condition, bien sur, de connaître le SQL, comme pour toute base de données.
    Je redonne donc le lien: http://docs.python.org/library/sqlite3.html

Discussions similaires

  1. Explication sur sqlite3 et python
    Par otobenzina dans le forum Réseau/Web
    Réponses: 3
    Dernier message: 28/07/2012, 01h00
  2. python 2.6 / 2.7 et sqlite3 : requête
    Par antoinev2 dans le forum SQLite
    Réponses: 0
    Dernier message: 19/09/2011, 14h13
  3. Comment moderniser le sqlite3 du Python 2.6.5 ?
    Par tyrtamos dans le forum Général Python
    Réponses: 3
    Dernier message: 18/08/2010, 08h16
  4. [source][python 3.0]client sqlite3
    Par vincent.mbg dans le forum Contribuez
    Réponses: 3
    Dernier message: 11/09/2009, 16h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo