Vino is niet ORM. Ja, het is waar, het is niet ORM.
Aan de slag
Een snel overzicht met Vino:
# Setup
# Db = Vino ('engine: // gebruiker: passwd @ host: port / database)
db = Vino ('sqlite: //db.sqlite')
# Query
db.table ("gebruiker"). vind (gebruikersnaam = 'lepture'). fetch ()
# Maak
db.table ("gebruiker") te creëren. (gebruikersnaam = 'lepture', website = 'http: //lepture.com')
db.commit ()
# Bij te werken
db.table ("gebruiker"). vind (gebruikersnaam = 'lepture'). Update (gebruikersnaam = 'Hsiaoming Yang')
db.commit ()
# Verwijderen
db.table ("gebruiker"). vind (gebruikersnaam = 'lepture'). verwijderen ()
db.commit ()
Instellingen
We zullen alleen sqlite3 en mysql ondersteunen door nu.
SQLite
SQLite met relatief pad:
db = Vino ('sqlite: //relative/path/db.sqlite')
SQLite met absolute pad:
db = Vino ('sqlite: ///root/path/db.sqlite')
Let op, het is anders dan SQLAlchemy.
MySQL
MySQL met alle informatie:
db = Vino ('mysql: // lepture: 123456 @ localhost: 3306 / test')
MySQL met minder informatie:
db = Vino ('mysql: // lepture @ localhost / test')
Standaard poort is 3306.
Let op, het is utf8 standaard.
Vraag
Zoek alle data:
db.table ("gebruiker"). fetch ()
Zoek alle gespecificeerde gegevens:
db.table ("gebruiker"). vind (gebruikersnaam = 'lepture'). fetch ()
Vind de eerste gegevens:
# Halen 1 zal een lijst niet terug
db.table ("gebruiker"). vind (gebruikersnaam = 'lepture'). fetch (1)
Beperk de query:
db.table ("gebruiker"). vind (gebruikersnaam = 'lepture'). fetch (5, offset = 3)
Meerdere filters:
db.table ("gebruiker"). vind (gebruikersnaam = 'lepture', leeftijd = 20) .fetch ()
Geavanceerde filters:
# Net als Django
db.table ("gebruiker"). vind (age__in = [20, 22]). fetch ()
db.table ("gebruiker"). vind (age__gt = 20) .fetch ()
db.table ("gebruiker"). vind (age__lt = 20) .fetch ()
db.table ("gebruiker"). vind (age__gte = 20) .fetch ()
db.table ("gebruiker"). vind (age__lte = 20) .fetch ()
# Meer zie documentatie
Meer geavanceerde filters:
db.table ("gebruiker"). vind (age__ne = 20) .fetch () # niet gelijk
db.table ("gebruiker"). vind (age__nin = [20, 22]). fetch () # niet in
# Meer zie documentatie
Query-volgorde:
. db.table ("gebruiker") vind (leeftijd = 20) .order ('- id "). fetch ()
Verwijderen
Verwijder alle gegevens:
db.table ("gebruiker"). verwijderen ()
db.commit ()
Delete gespecificeerde gegevens:
db.table ("gebruiker"). vind (gebruikersnaam = 'lepture'). verwijderen ()
db.commit ()
Eisen
- Python
Reacties niet gevonden