SQLAlchemy
SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作。
#Dialect用于和数据API进行交流,根据配置文件的不同调用不同的数据库API,从而实现对数据库的操作: ''' MySQL-Python mysql+mysqldb://<user>:<password>@<host>[:<port>]/<dbname> pymysql mysql+pymysql://<username>:<password>@<host>/<dbname>[?<options>] MySQL-Connector mysql+mysqlconnector://<user>:<password>@<host>[:<port>]/<dbname> cx_Oracle oracle+cx_oracle://user:pass@host:port/dbname[?key=value&key=value...] '''
1、使用 Schema Type/SQL Expression Language/Engine/ConnectionPooling/Dialect 进行数据库操作。
#!/usr/bin/env python # -*- coding:utf-8 -*- from sqlalchemy import create_engine, Table, Column, Integer, String, MetaData, ForeignKey,select metadata = MetaData() user = Table('pepole', metadata, Column('id', Integer, primary_key=True), Column('name', String(20)), ) color = Table('color', metadata, Column('id', Integer, primary_key=True), Column('name', String(20)), ) engine = create_engine("mysql+mysqldb://root:123456@172.16.8.47:3306/test" ,max_overflow=5) #metadata.create_all(engine)创建表 conn = engine.connect() #--增 #sql = user.insert().values(id=3, name='lisi') #conn.execute(sql) #conn.close() #--删 #sql = user.delete().where(user.c.id == 1) #conn.execute(sql) #conn.close() #--改 #sql = user.update().where(user.c.name == 'zhangsan').values(name='lisi') #conn.execute(sql) #conn.close() #--查 #sql = select([user, ]) #sql = select([user.c.id, ]) #sql = select([user.c.name, color.c.name]).where(user.c.id==color.c.id)#查找user和color表中id相等的name #sql = select([user.c.name]).order_by(user.c.name) #result = conn.execute(sql) #print result.fetchall()