SQLAlchemy 介绍;
SQLAlchemy是Python编程语言下的一款开源软件。提供了SQL工具包及对象关系映射(ORM)工具,使用MIT许可证发行。
SQLAlchemy“采用简单的Python语言,为高效和高性能的数据库访问设计,实现了完整的企业级持久模型”。SQLAlchemy的理念是,SQL数据库的量级和性能重要于对象 集合;而对象集合的抽象又重要于表和行。因此,SQLAlchmey采用了类似于Java里Hibernate的数据映射模型,而不是其他ORM框架采用的Active Record模型。不过,Elixir 和declarative等可选插件可以让用户使用声明语法。
2.主要描述 SQLAlchemy (创建数据表,增,删,改,查)
""" “创建flask mysql 连接配置文件;文件名称 config """ config 文件内容如下: ##########SQLalchemy 连接数据库示例####### #dialect+driver://username:password@host:port/database DIALECT = 'mysql' DRIVER = 'mysqldb' USERNAME = 'python' PASSWORD = '123456' HOST = '192.168.0.104' PORT = '3306' DATABASE = 'Scier' SQLALCHEMY_DATABASE_URI ="{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALECT,DRIVER,USERNAME, PASSWORD,HOST,PORT,DATABASE) SQLALCHEMY_TRACK_MODIFICATIONS = False """ 导入SQLAlchemy 模块;创建三个数据表; (创建数据表) """ # -*- coding: utf-8 -*- from flask_sqlalchemy import SQLAlchemy import config db = SQLAlchemy() class Create_Script(db.Model): __tablename__ = 'script' id = db.Column(db.Integer, primary_key=True, autoincrement=True) # 主键自增长 name = db.Column(db.String(50), nullable=False) ###不能为空 md5 = db.Column(db.String(100), nullable=False) ###不能为空 format = db.Column(db.String(10), nullable=False) ###不能为空 note = db.Column(db.String(200), nullable=False) ###不能为空 type = db.Column(db.String(10), nullable=False) ###不能为空 class Create_Naming(db.Model): __tablename__ = 'naming_02' create_time = db.Column(db.DATETIME, nullable=False) ###创建时间; id = db.Column(db.Integer, primary_key=True, autoincrement=True) # 主键自增长 type = db.Column(db.String(20), nullable=False) ###不能为空 name = db.Column(db.String(20), nullable=False) ###不能为空 url = db.Column(db.String(100), nullable=False) ###不能为空 create_founder = db.Column(db.String(20), nullable=False) ###不能为空 class Create_pkg(db.Model): __tablename__ = 'softwart_pkg' id = db.Column(db.Integer, primary_key=True, autoincrement=True) # 主键自增长 type = db.Column(db.String(20), nullable=False) ###软件类型不能为空 name = db.Column(db.String(50), nullable=False) ###软件名称不能为空 format = db.Column(db.String(20), nullable=False) ###软件格式不能为空 md5 = db.Column(db.String(50), nullable=False) ###M5D不能为空# upload_time = db.Column(db.DATETIME, nullable=False) ##上传时间 access_url = db.Column(db.String(100),nullable=False) ####访问url地址######## note = db.Column(db.String(100), nullable=False) ###软件备注不能为空 db.create_all() 初始化三张数据表 """ 插入Create_pkg 数据表; (新增数据表) 初始化类 Create_pkg 指定字段插入; 提交事务 """ pkg_Insert = Create_pkg(type=type, name=name, format=format, md5=file_md5, upload_time=upload_time, access_url=file_url , note=note) db.session.add(pkg_Insert) db.session.commit() """ 删除script_table 数据表字段; (删除数据表); 提交事务 """ script01= script_table.query.filter(script_table.type == '系统脚本').all() 或者:.first() db.serssion.delete( script01) db.session.commit() """ SQLAlchemy 修改数据表字段; """ script01= script_table.query.filter(script_table.type == '系统脚本').all() script01.type= '系统管理脚本' db.session.commit() """ SQLAlchemy 查询数据表字段; """ ####select * from script where script.type='系统脚本' ###查询语句 result = script_table.query.filter(script_table.type == '系统脚本').all() script01=result[0] print script01.type