好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

python第六十六天--sqlalchemy

  1   #  !usr/bin/env python 
  2   #  -*-coding:utf-8-*- 
  3   #   Author calmyan  
  4   #  python  
  5   #  2017/7/6    21:29 
  6   #  __author__='Administrator' 
  7   from  sqlalchemy.ext.declarative  import   declarative_base
   8   from  sqlalchemy  import   Column, Integer, String, ForeignKey, UniqueConstraint, Index
   9   from  sqlalchemy.orm  import   sessionmaker, relationship
  10   from  sqlalchemy  import   create_engine
  11   from  sqlalchemy  import  func  #  统计 
 12  
 13   #                                           用户 密码  主机             库 
 14  engine = create_engine( "  mysql+pymysql://root:root@127.0.0.1:3306/test  " ,encoding= "  utf-8  " ,echo= False)
  15  
 16  Base = declarative_base() #  生成orm 基类 
 17   class   User_2(Base):
  18       __tablename__ = '  user  '   #  表名 
 19      id = Column(Integer,primary_key=True) #  整数类型  设为主键 
 20      name = Column(String(32)) #  字符串类型 
 21      age =  Column(Integer)
  22      addr= Column(String(256 ))
  23  
 24       def   __repr__ (self): #   
输出查询 25 return ' %s>name:%s--age:%saddrs:%s ' % (self.id,self.name,self.age,self.addr) 26 27 28 Session_class=sessionmaker(bind=engine) # 创建与数据库的会话 类 29 Session=Session_class() # 生成实例 30 31 # 增加 32 ''' 33 user_obj =User(name="sa2",addrs="1234")#生成你要创建的数据对象 34 Session.add(user_obj)# 添加记录 35 ''' 36 # 添加一组数据 37 ''' 38 Session.add_all([ 39 User(name="abcg",age=34,addr="sdfsdf"), 40 User(name="bcdq",age=11,addr="chaense") 41 ]) 42 ''' 43 # 删除 44 ''' 45 Session.query(User).filter(User.id>3).filter(User.id<6).delete() 46 ''' 47 # 查询 条件 所有 48 data =Session.query(User_2).filter_by(id=2 ).all() 49 # 多个条件 50 data2 =Session.query(User_2).filter(User_2.id>2).filter(User_2.id<5 ).all() 51 52 53 # 改 54 55 Session.query(User_2).filter(User_2.id ==2).update({ " name " : " 099 " }) 56 print (data) 57 print (data2) 58 ''' 59 print(Session.query(User).filter(User.id>2).filter(User.name.in_(["sa",'sa2'])).all()) 60 Session.rollback()#回滚操作 61 print(Session.query(User).filter(User.id>2).filter(User.name.in_(["sa",'sa2'])).all()) 62 ''' 63 print (Session.query(User_2).filter(User_2.id>2).filter(User_2.name.in_([ " sa " , ' sa2 ' ])).count()) # 统计符合条件出现的次数 64 counts=Session.query(User_2).filter(User_2.id>2).filter(User_2.name.in_([ ' bcd ' ])).count() # 统计符合条件出现的次数 65 print (counts) 66 # 分组查询 字段 统计次数 字段 67 gurps= Session.query(User_2.name,func.count(User_2.name)).group_by(User_2.name).all() 68 print (gurps) 69 # 以addrs为条件 70 gurps1= Session.query(User_2.name,func.count(User_2.name)).group_by(User_2.addr).all() 71 print (gurps1) 72 73 74 Session测试数据mit() # 关闭事务

查看更多关于python第六十六天--sqlalchemy的详细内容...

  阅读:41次