SQLAlchemy使用


SQLAlchemy 是Python 社区最知名的 ORM 工具之一,为高效和高性能的数据库访问设计,实现了完整的企业级持久模型。支持几种主流的数据库(Orace,MySQL,SQLServer,Postgres,SQLite)

安装方法:pip installSQLAlchemy

使用SQLAlchemy操作mysql

如果连接方式使用pymysql的的方式则还需要另外执行命令 pip install pymysql

# -*- coding: utf-8 -*-
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String,ForeignKey
from sqlalchemy.orm import sessionmaker,relationship
from sqlalchemy import create_engine
#连接字符串
engine = create_engine("mysql+pymysql://用户名:密码@ip:端口/数据库名?charset=utf8", max_overflow=5,encoding='utf-8',convert_unicode=True)
#例如 engine = create_engine("mysql+pymysql://root:@127.0.0.1:3306/blogs?charset=utf8", max_overflow=5,encoding='utf-8',convert_unicode=True)

Base = declarative_base()

#创建表基础基类Base
##文章表
class Article(Base):
__tablename__='article'
id=Column(Integer,primary_key=True)
name=Column(String(64),unique=True)
__table_args__={"mysql_charset":"uft8"}

##测试
if __name__ == '__main__':
#Base.metadata.drop_all(engine) #删除表
#Base.metadata.create_all(engine) #创建表
# 创建session对象:
# 创建DBSession类型
DBSession = sessionmaker(bind=engine)
session = DBSession()

##添加操作
#obj = Article(id=4,name=u'我爱北京天安门')
#session.add(obj)
#session.commit()
##删除操作
session.query(Article).filter(Article.id==4).delete()
session.commit()
##修改操作
#session.query(Article).filter(Article.id==4).update({"name":"jack"})
#session.commit()

##查询
# ret = session.query(Article).all()
# ret = session.query(Article.name, Article.id).all()
# ret = session.query(Article).filter_by(name='alex').all()
# ret = session.query(Article).filter_by(name='alex').first()


优质内容筛选与推荐>>
1、BZOJ3203 SDOI2013保护出题人(三分)
2、使用 SyntaxHighlighter 实现代码高亮
3、直播媒体流red5
4、Linux中变量测试与内容替换
5、程序员的上升空间在哪里


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号