一、创建表
#!/usr/bin/env python #_*_ coding:utf-8 _*_ #encoding=utf-8 #function: #created by xkq #date: 2018 import sqlalchemy from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column, Integer, String from sqlalchemy.orm import sessionmaker engine = create_engine("mysql+pymysql://root:xkq@localhost/orm", encoding='utf-8', echo=True)#数据库名orm要提前创建好 Base = declarative_base() # 生成orm基类 class Host(Base):#创建表hosts结构 __tablename__='hosts'#表名 id=Column(Integer,primary_key=True,autoincrement=True) hostname=Column(String(64),unique=True,nullable=False) ip_address=Column(String(128),unique=True,nullable=False) port=Column(Integer,default=22) Base.metadata.create_all(engine)#创建表hosts if __name__=='__main__': session_class=sessionmaker(bind=engine)#创建于数据库的会话,返回的是一个类 session=session_class()#事例话一个连接 ''' #创建数据 h1=Host(hostname='zabbix',ip_address='192.168.1.1') h2=Host(hostname='mysql',ip_address='192.168.1.2',port='3308') h3=Host(id=3,hostname='mysql2',ip_address='192.168.1.3',port='3308') #session.add(h1)#创建一条数据 session.add_all([h1,h2,h3])#批量创建多条数据 ''' ''' #修改数据 obj=session.query(Host).filter(Host.hostname=='mysql').first()#先找到数据 obj.hostname='mysql_update'#修改数据 ''' ''' #删除数据 obj = session.query(Host).filter(Host.hostname == 'mysql_update').first() session.delete(obj) ''' ''' #查询数据 obj=session.query(Host).filter(Host.hostname == 'zabbix').all() print(obj) ''' session.commit()