sqlalchemy增删改查
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
## test_module.py from user_modules import User,session def add_user(): person=User(username='haha',passwd='123') #session.add(person) session.add_all([ User(username='nanian', passwd='123qw'), User(username='nihao', passwd='123') ]) session.commit() def search_user(): row=session.query(User).all() row =session.query(User).filter_by(id=1).all() ##filter比filter_by查询麻烦,filter需带入类名,加==条件 row =session.query(User).filter(User.username=='nanian').all() #print(row) print(row[0].locked) #还可以直接在user_modules写好查询函数 def update_user(): row=session.query(User).filter_by(username='nanian').update({User.passwd:'123qwe'}) session.commit() def delete_user(): row=session.query(User).filter_by(username='haha')[0] session.delete(row) session.commit() if __name__=='__main__': #add_user() #search_user() #调用module写好的查询条件查询 #print(User.by_name('nanian')) #update_user() delete_user()
## user_modules.py from datetime import datetime from sqlalchemy import Column,Integer,String,Boolean,DateTime from connect import Base,session class User(Base): __tablename__='user' id=Column(Integer,primary_key=True,autoincrement=True) username=Column(String(20),nullable=False) passwd=Column(String(50),nullable=False) createtime=Column(DateTime,default=datetime.now) _locked=Column(Boolean,default=False,nullable=False) #在modules中写好查询条件,使用时直接调用 @classmethod def all(cls): return session.query(cls).all() @classmethod def by_name(cls,username): return session.query(cls).filter_by(username=username).all() @property def locked(self): return self._locked def __repr__(self): return '<User(id=%s,username=%s,passwd=%s,createtime=%s,_locked=%s)>'%( self.id, self.username, self.passwd, self.createtime, self._locked ) if __name__=='__main__': Base.metadata.create_all()