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