Vino tidak ORM. Ya, itu benar, itu bukan ORM.
Memulai
Sebuah tampilan cepat dengan Vino:
# Pengaturan
# Db = Vino ('engine: // pengguna: passwd @ host: port / database')
db = Vino ('sqlite: //db.sqlite')
# Permintaan
db.table ('user'). find (username = 'lepture'). fetch ()
# Membuat
db.table ('user') membuat. (username = 'lepture', situs = 'http: //lepture.com')
db.commit ()
# Update
db.table ('user'). find (username = 'lepture'). update (username = 'Hsiaoming Yang')
db.commit ()
# Hapus
db.table ('user'). find (username = 'lepture'). hapus ()
db.commit ()
Pengaturan
Kami hanya akan mendukung sqlite3 dan mysql sekarang.
SQLite
SQLite dengan path relatif:
db = Vino ('sqlite: //relative/path/db.sqlite')
SQLite dengan path absolut:
db = Vino ('sqlite: ///root/path/db.sqlite')
Harap dicatat, itu berbeda dari SQLAlchemy.
MySQL
MySQL dengan semua informasi:
db = Vino ('mysql: // lepture: 123456 @ localhost: 3306 / test')
MySQL dengan sedikit informasi:
db = Vino ('mysql: // lepture @ localhost / test')
Port default adalah 3306.
Harap dicatat, itu utf8 secara default.
Query
Cari semua Data:
db.table ('user'). fetch ()
Temukan semua data tertentu:
db.table ('user'). find (username = 'lepture'). fetch ()
Cari data pertama:
# Mengambil 1 tidak akan kembali daftar
db.table ('user'). find (username = 'lepture'). fetch (1)
Batasi query:
db.table ('user'). find (username = 'lepture'). fetch (5, offset = 3)
Beberapa filter:
db.table ('user'). find (username = 'lepture', usia = 20) .fetch ()
Filter canggih:
# Seperti Django
db.table ('user'). mencari (age__in = [20, 22]). fetch ()
db.table ('user'). mencari (age__gt = 20) .fetch ()
db.table ('user'). mencari (age__lt = 20) .fetch ()
db.table ('user'). mencari (age__gte = 20) .fetch ()
db.table ('user'). mencari (age__lte = 20) .fetch ()
# Lebih lihat dokumentasi
Filter lebih lanjut:
db.table ('user'). mencari (age__ne = 20) .fetch () # tidak sama
db.table ('user'). mencari (age__nin = [20, 22]). fetch () # tidak
# Lebih lihat dokumentasi
Urutan query:
. db.table ('user') menemukan (umur = 20) .order ('- id'). fetch ()
Hapus
Menghapus semua data:
db.table ('user'). hapus ()
db.commit ()
Menghapus data tertentu:
db.table ('user'). find (username = 'lepture'). hapus ()
db.commit ()
Persyaratan :
- Python
Komentar tidak ditemukan