Mysql
 sql >> Baza danych >  >> RDS >> Mysql

mysql Compress() z sqlalchemy

możesz przypisać funkcję SQL do atrybutu:

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

Oto przykład użycia funkcji lower() bardziej niezależnej od bazy danych:

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"

możesz zrobić to automatycznie za pomocą @validates:

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

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

jeśli chcesz, aby był czytelny w Pythonie przed opróżnieniem, musisz zapamiętać go lokalnie i użyć deskryptora, aby uzyskać do niego dostęp.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uzyskać kolejny alfanumeryczny identyfikator na podstawie istniejącej wartości z MySQL?

  2. Wartość zewnętrznej kolumny wyboru w połączonym podzapytaniu?

  3. Prosty ranking aktualizacji MySQL z więzami

  4. Które zapytanie SQL jest lepsze, MATCH AGAINST czy LIKE?

  5. Jak wstawić pandas dataframe przez mysqldb do bazy danych?