Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

mysql Compress() dengan sqlalchemy

Anda dapat menetapkan fungsi SQL ke atribut:

from sqlalchemy import func
object.data = func.compress(mydata)
session.add(object)
session.commit()

Berikut ini contoh penggunaan fungsi lower() yang lebih DB-agnostik:

from sqlalchemy import *
from sqlalchemy.orm import *
from sqlalchemy.ext.declarative import declarative_base

Base= declarative_base()

class A(Base):
    __tablename__ = "a"

    id = Column(Integer, primary_key=True)
    data = Column(String)

e = create_engine('sqlite://', echo=True)
Base.metadata.create_all(e)
s = Session(e)

a1 = A()
a1.data = func.lower("SomeData")
s.add(a1)
s.commit()

assert a1.data == "somedata"

Anda dapat membuatnya otomatis dengan @validates:

from sqlalchemy.orm import validates
class MyClass(Base):
    # ...
    data = Column(BLOB)

    @validates("data")
    def _set_data(self, key, value):
        return func.compress(value)

jika Anda ingin agar dapat dibaca dengan python sebelum flush, Anda harus memoizenya secara lokal dan menggunakan deskriptor untuk mengaksesnya.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Membangun Database yang Sangat Tersedia untuk Moodle Menggunakan Replikasi MySQL

  2. akankah menampilkan status tabel menampilkan baris yang tepat dalam tabel?

  3. Cara Menghitung Persentase Pertumbuhan Bulan Per Bulan di MySQL

  4. SQL Banyak-ke-Banyak Hubungan Antara Beberapa Tabel

  5. Menyimpan ID sebagai nilai yang dipisahkan koma