SQLAlchemy
SQLAlchemy er et Python - programmeringsbibliotek til at arbejde med relationelle databasestyringssystemer ved hjælp af ORM- teknologi . Bruges til at synkronisere Python-objekter og relationelle databaseposter. SQLAlchemy giver dig mulighed for at beskrive databasestrukturer og hvordan man interagerer med dem i Python uden at bruge SQL [6] . Biblioteket blev frigivet i februar 2006 under MIT open source-licensen [7] .
Back-end fungerer til databaser: MySQL , PostgreSQL , SQLite , Oracle og andre, [8] som du kan skifte imellem ved at ændre konfigurationen [6] .
Nøglefunktioner
- Brug af en ORM er valgfri
- Etableret arkitektur
- Evne til at bruge håndskrevet SQL
- Transaktionssupport _
- Oprettelse af forespørgsler ved hjælp af Python-funktioner og -udtryk
- Modularitet og udvidelsesmuligheder
- Yderligere mulighed for separat at definere objektkortlægning og klasser
- Understøttelse af sammensatte indekser
- Støtte til relationer mellem klasser, herunder en-til-mange og mange-til-mange
- Understøttelse af selvrefererende objekter
- Foreløbig og efterfølgende behandling af data (forespørgselsparametre, resultat)
og andre [9] .
Fordele ved at bruge
Brug af SQLAlchemy til automatisk at generere SQL-kode har flere fordele i forhold til manuelt at skrive SQL [10] :
- Sikkerhed. Forespørgselsparametre escapes, hvilket gør SQL-injektionsangreb mindre sandsynlige.
- Ydeevne. Det er mere sandsynligt, at databaseserverens forespørgsel bliver genbrugt, hvilket kan gøre det muligt for den at genanvende forespørgselsudførelsesplanen i nogle tilfælde .
- Bærbarhed . SQLAlchemy, med den rigtige tilgang, giver dig mulighed for at skrive Python-kode, der er kompatibel med flere back-end DBMS. På trods af standardiseringen af SQL-sproget er der forskelle i dets implementering mellem databaser, som SQLAlchemy hjælper med at abstrahere fra.
Eksempel
Det enkleste eksempel på brug af SQLAlchemy i RAM:
>>> fra sqlalchemy import create_engine
>>> engine = create_engine ( 'sqlite:///:memory:' )
>>> engine . execute ( "vælg 'Hej, verden!'" ) . scalar ()
'Hej, verden!'
Applikationer og analoger
SQLAlchemy bruges i web-frameworks TurboGears , Pylons , Pyramid , Zope [11] . For eksempel er den berømte sociale nyhedsside Reddit bygget ved hjælp af SQLAlchemy [1] . En liste over organisationer, der bruger SQLAlchemy, kan findes på projektets hjemmeside [12] .
SQLAlchemy har flere analoger, herunder: SQLObjectog Storm.
Noter
- ↑ 12 AIX og UNIX teknisk bibliotek, ved hjælp af SQLAlchemy . Hentet 26. juni 2009. Arkiveret fra originalen 2. april 2012. (ubestemt)
- ↑ sqlalchemy Open Source-projektet på Open Hub: Languages-side - 2006.
- ↑ Udgivelse 1.4.42 - 2022.
- ↑ http://www.sqlalchemy.org/download.html
- ↑ sqlalchemy Open Source-projektet på Open Hub: Licensside - 2006.
- ↑ 1 2 Ziade, 2008 , s. 154-155.
- ↑ PyCon 2007 Wrapup Arkiveret 21. oktober 2012 på Wayback Machine , SQLAlchemy udgav 0.1.0 i februar 2006 — O'Reilly Media
- ↑ SQLAlchemy-dokumentation, motorkonfiguration (downlink) . Dato for adgang: 30. juli 2012. Arkiveret fra originalen den 15. juni 2012. (ubestemt)
- ↑ SQLAlchemy-funktioner . Dato for adgang: 30. juli 2012. Arkiveret fra originalen den 15. juni 2012. (ubestemt)
- ↑ Copeland, 2008 , s. femten.
- ↑ SQLAlchemyDA - en ny samlet databaseadapter til Zope 2 . Hentet 4. august 2012. Arkiveret fra originalen 30. maj 2008. (ubestemt)
- ↑ SQLAlchemy . Hentet 22. oktober 2019. Arkiveret fra originalen 3. november 2019. (ubestemt)
Links
Litteratur
- Rick Copeland. Væsentlig SQLAlchemy. - O'Reilly Media., 2008. - 215 s. - ISBN 0-596-51614-2 .
- Tarek Ziade. Ekspert Python-programmering. - Packt Publishing Ltd., 2008. - 372 s. — ISBN 978-1-847194-94-7 .
Python |
---|
Fællesskab |
|
---|
Implementeringer |
|
---|
Andet |
|
---|