首页 > 代码库 > SQLAchemy
SQLAchemy
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。
SQLAchemy
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。