Vino is nie ORM. Ja, dit is waar, dit is nie ORM.
slag
'N vinnige vertoning met Vino:
# Setup
# Db = Vino ('enjin: // gebruiker: passwd @ host: port / databasis')
db = Vino ('sqlite: //db.sqlite')
# Navraag
db.table ('n gebruiker '). vind (gebruikersnaam =' lepture). haal ()
# Skep
db.table ('n gebruiker ') skep. (gebruikersnaam =' lepture ', webwerf =' http: //lepture.com ')
db.commit ()
# Update
db.table ('n gebruiker '). vind (gebruikersnaam =' lepture). update (gebruikersnaam = 'Hsiaoming Yang')
db.commit ()
# Verwyder
db.table ('n gebruiker '). vind (gebruikersnaam =' lepture). verwyder ()
db.commit ()
Setup
Ons sal slegs ondersteun sqlite3 en mysql deur die nou.
SQLite
SQLite met relatiewe pad:
db = Vino ('sqlite: //relative/path/db.sqlite')
SQLite met absolute pad:
db = Vino ('sqlite: ///root/path/db.sqlite')
Let wel, dit is verskillend van SQLAlchemy.
MySQL
MySQL met al die inligting:
db = Vino ('mysql: // lepture: 123456 @ localhost: 3306 / toets ")
MySQL met minder information:
db = Vino ('mysql: // lepture @ localhost / toets ")
Standaard poort is 3306.
Let wel, dit is utf8 by verstek.
Query
Vind al die data:
db.table ('n gebruiker '). haal ()
Vind al die gespesifiseerde data:
db.table ('n gebruiker '). vind (gebruikersnaam =' lepture). haal ()
Vind die eerste data:
# Haal 1 sal nie terugkeer 'n lys
db.table ('n gebruiker ') vind (gebruikersnaam =' lepture).. gaan haal (1)
Beperking op navraag:
db.table ('n gebruiker '). vind (gebruikersnaam =' lepture). haal (5, geneutraliseer = 3)
Verskeie filters:
db.table ('n gebruiker '). vind (gebruikersnaam =' lepture ', ouderdom = 20) .fetch ()
Gevorderde filters:
# Net soos Django
db.table ('n gebruiker '). vind (age__in = [20, 22]). haal ()
db.table ('n gebruiker '). vind (age__gt = 20) .fetch ()
db.table ('n gebruiker '). vind (age__lt = 20) .fetch ()
db.table ('n gebruiker '). vind (age__gte = 20) .fetch ()
db.table ('n gebruiker '). vind (age__lte = 20) .fetch ()
# Meer sien dokumentasie
Meer gevorderde filters:
db.table ('n gebruiker '). vind (age__ne = 20) .fetch () # nie gelyk
db.table ('n gebruiker '). vind (age__nin = [20, 22]). haal () # nie in
# Meer sien dokumentasie
Query om:
. db.table ('n gebruiker ') vind (ouderdom = 20) .order (' - id). haal ()
Vee
Verwyder alle data:
db.table ('n gebruiker '). verwyder ()
db.commit ()
Verwyder gespesifiseerde data:
db.table ('n gebruiker '). vind (gebruikersnaam =' lepture). verwyder ()
db.commit ()
Vereistes :
- Python
Kommentaar nie gevind