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()
View Code

相关文章:

  • 2021-12-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-01
  • 2021-08-04
  • 2022-01-08
猜你喜欢
  • 2022-12-23
  • 2021-07-22
  • 2021-11-11
  • 2021-10-03
  • 2021-08-31
  • 2021-08-11
  • 2021-07-19
相关资源
相似解决方案