JAVA 開發規範
阿新 • • 發佈:2020-12-15
import sqlalchemy from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column,Integer,String,Float,Enum,Date from sqlalchemy.orm import sessionmaker Base=declarative_base() class Student(Base): __tablename__='Stu' id=Column(Integer,primary_key=True,nullable=False,autoincrement=True) name=Column(String(64),nullable=False) age=Column(Float,unique=True) def __repr__(self): return '<{} (id:{}, name:{}, age:{})>'.format(self.__class__.__name__,self.id,self.name,self.age) __str__=__repr__ engine=sqlalchemy.create_engine("mysql+pymysql://root:cruces@localhost:3306/uranus",echo=True) # create table,drop table # Base.metadata.create_all(engine) # Base.metadata.drop_all(engine) Session=sessionmaker() session=Session(bind=engine) try: # t1=Student() # t1.name='ppp' # t1.age=44 # t2=Student() # t2.name='ooo' # t2.age=88 lst=[] for b in range(5): t=Student() t.name='uiop'+str(b) t.age=30+b lst.append(t) session.add_all(lst) session.commit() except Exception as e: print(e.args,e.__dict__,e) session.rollback() finally: pass
try: s1=Student() s1.name='pp' s1.age=33 session.add(s1) print(s1.id) session.commit() print(s1.id,999999999999999999999) s1.age=88 # session.add(s1) # not necessary session.commit() except Exception as e: print(e.args,e.__dict__,e) session.rollback() finally: pass
查詢
try: queryobj=session.query(Student).filter(Student.name=='pp') for b in queryobj: print(b) except Exception as e: print(e.__cause__) finally: pass
get方法用主鍵查詢,返回一條傳入類的例項
try: s=session.query(Student).get(2) print(s) s.name='uiop' s.age=999 print(s) session.commit() except Exception as e: print(e.__traceback__) finally: pass
刪除
try: s=Student() s.id=2 session.delete(s) session.commit() except Exception as e: print(e.__cause__,e.__class__,e) session.rollback() finally: pass
try: # s=session.query(Student).filter(Student.id==2) s=session.query(Student).get(2) session.delete(s) session.commit() except Exception as e: print(e.__cause__) finally: pass