Outils pour utilisateurs

Outils du site


python:sqlalchemy

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
python:sqlalchemy [2023/12/21 07:01]
marclebrun
python:sqlalchemy [2023/12/22 08:34] (Version actuelle)
marclebrun [Configuration de la connexion]
Ligne 6: Ligne 6:
   * Firebird : [[https://​docs.sqlalchemy.org/​en/​20/​dialects/​firebird.html]]   * Firebird : [[https://​docs.sqlalchemy.org/​en/​20/​dialects/​firebird.html]]
   * Doc de SQLAlchemy-Firebird : [[https://​pypi.org/​project/​sqlalchemy-firebird/​]]   * Doc de SQLAlchemy-Firebird : [[https://​pypi.org/​project/​sqlalchemy-firebird/​]]
- 
-Selon [[https://​docs.sqlalchemy.org/​en/​14/​dialects/​firebird.html]] 
-le support interne de Firebird est déprécié,​ il faut désormais utiliser 
-le dialecte externe (voir [[https://​github.com/​pauldex/​sqlalchemy-firebird]]). 
  
 ===== Installation ===== ===== Installation =====
Ligne 47: Ligne 43:
     dbpath,     dbpath,
     fb_library_name     fb_library_name
-)+)) 
 +</​code>​ 
 + 
 +===== Requêtes SQL ===== 
 + 
 +Requête Select : 
 + 
 +<code python>​ 
 +from sqlalchemy import text 
 + 
 +with engine.connect() as conn: 
 +    result = conn.execute(text("​select id, nom from clients order by nom"​)) 
 +     
 +    # Afficher tous les résultats dans une liste de tuples : 
 +    print(result.all()) 
 +     
 +    # Parcourir le résultat et afficher les lignes individuellement : 
 +    for row in result: 
 +        print(f"​{row.id} : {row.nom.strip()}"​) 
 +</​code>​ 
 + 
 +Requêtes transactionnelles avec un **commit()** à la fin : 
 + 
 +<code python>​ 
 +from sqlalchemy import text 
 + 
 +with engine.connect() as conn: 
 +    conn.execute(text("​CREATE TABLE some_table (x int, y int)"​)) 
 +    conn.execute( 
 +        text("​INSERT INTO some_table (x, y) VALUES (:x, :​y)"​),​ 
 +        [{"​x":​ 1, "​y":​ 1}, {"​x":​ 2, "​y":​ 4}], 
 +    ) 
 +    conn.commit() 
 +</​code>​ 
 + 
 +Requêtes transactionnelles dans un bloc **begin()** (le commit se fait implicitement) : 
 + 
 +<code python>​ 
 +from sqlalchemy import text 
 + 
 +with engine.begin() as conn: 
 +    conn.execute( 
 +        text("​INSERT INTO some_table (x, y) VALUES (:x, :​y)"​),​ 
 +        [{"​x":​ 1, "​y":​ 1}, {"​x":​ 2, "​y":​ 4}], 
 +    ​)
 </​code>​ </​code>​
  
python/sqlalchemy.1703142116.txt.gz · Dernière modification: 2023/12/21 07:01 par marclebrun