标签:code gif lap play hid closed 不同的 over cto
SQLAchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据库PAI执行SQL并获取执行结果。
SQLAchemy本身无法操作数据库,必须以第三方插件,Dialect用于和数据库PAI进行交流,根据配置文件的不同调用不同的数据库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...] 更多详见:http://docs.sqlalchemy.org/en/latest/dialects/index.html
一、底层处理
使用Engine/ConnectionPoolling/Dialect进行数据库操作,Engine使用ConnectionPooling连接数据库,然后再通过Dialect执行SQL语句。
from sqlalchemy import create_engine engine = create_engine("mysql+pymysql://test:123456@192.168.254.129/test", max_overflow=5) # 执行sql语句 # cur = engine.execute( # "insert into sanguo (name,age) values (‘zhangzhao‘,38)" # ) # # 新插入行自增id # new_id = cur.lastrowid # print(new_id) # cur = engine.execute("select * from sanguo where id > 5") # 获取一行数据 # ret = cur.fetchone() # 获取第n行数据 # cur.fetchmany(3) # 获取所有数据 # cur.fetchall() # cur = engine.execute("insert into sanguo (name,age) VALUES (%s,%s)",[(‘lvbu‘,21),(‘yuanshao‘,27)]) # print(ret)
二、ORM功能使用:
使用ORM/Schema TYpe/SQL Expression Language/Engine/ConnectionPooling/Dialect所有组件对数据进行操作。根据类创建对象,对象转换成SQL,执行SQL。
标签:code gif lap play hid closed 不同的 over cto
原文地址:http://www.cnblogs.com/caibao666/p/6862632.html