1. 程式人生 > >python使用sqlalchemy中介軟體對MYSQL資料庫進行建立、查詢、刪除操作

python使用sqlalchemy中介軟體對MYSQL資料庫進行建立、查詢、刪除操作

首先安裝sqlalchemy,安裝方法有兩種:通過官網下載原始碼進行安裝;使用pip install sqlachemly

1.建立操作資料庫介面模組api.py,

描述:

在介面模組中首先建立一個engine,這裡關聯的是mysql資料庫,也可以是其他型別的資料庫

然後定義了幾個訪問資料庫的介面函式,提供對資料庫的新增、刪除、查詢操作

from sqlalchemy import create_engine
from sqlalchemy import func
from sqlalchemy.pool import NullPool
from sqlalchemy.orm import sessionmaker

class API(object):
        def __init__(self):
	    args = 'mysql://root:
[email protected]
/myDB?charset=utf8' kwds = NullPool engine = create_engine(args,poolclass=kwds) Session = sessionmaker(bind=engine) self.session = Session() def create(self, db, **body): self.session.add(db(**body)) return 'CREATED' def get_all_content(self, db): result = list(t.__dict__ for t in self.session.query(db).all()) for i in xrange(0, len(result) result.pop('_sa_instance_state', None) return 'OK', result def delete_context(self, db, db_attr, value): res = self.session.query(db).filter(db_attr == value).delete() if res: self.session.commit() return 'OK' else: return False def delete_all(self, db): self.session.query(db).delete() self.session.commit() return 'OK'

2.建立資料庫訪問儲存、模型模組model.py,這裡定義了一個名字叫test的表,其中包含三個欄位id(自動增長),name,sex

from sqlalchemy import Column, Integer, String,schema
from sqlalchemy.ext.declarative import declarative_base
def table_args():
        return {
            'mysql_engine': 'InnoDB',
            'mysql_charset': 'utf8'
        }

Base = declarative_base()

class Test(Base):
        """defined a Test"""
	__tablename__ = 'test'
	__table_args__ = (
	    schema.UniqueConstraint('id', name = 'uniq_test_id'),
		table_args()
	)
	id = Column(Integer, primary_key=True,autoincrement='auto',nullable=False)
	name = Column(String(255), nullable=False)
	sex = Column(String(40), nullable=False)

3.訪問資料庫表記錄的方法,建立應用模組application.py,在模組中分別匯入model和api模組,例項化出一個api模組的物件,進行所有table內容的查詢操作
from model import Test
import api
def query_all_in_test_table():
    db_api = api.API()
    rv, date = db_api.get_all_content(Test)
    print date

相關推薦

python使用sqlalchemy中介軟體MYSQL資料庫進行建立查詢刪除操作

首先安裝sqlalchemy,安裝方法有兩種:通過官網下載原始碼進行安裝;使用pip install sqlachemly 1.建立操作資料庫介面模組api.py, 描述: 在介面模組中首先建立一個engine,這裡關聯的是mysql資料庫,也可以是其他型別的資料庫 然後定

分別使用PreparedStatement和Statementmysql資料庫進行建立表,增加資料,查詢資料和刪除資料過程

在使用eclipse工具編寫Java程式碼連線資料庫並對資料庫進行處理時,總會用到對資料的增刪改查操作。那麼這個 時候就用到了java自帶的sql庫中的PreparedStatement或者Statement了。 其實PreparedStatement和Statement使

scalikejdbc框架mysql資料庫進行增刪改查,事務建立

1.在scala中想要操作mysql數庫中的資料,可以使用scalikejdbc。 2.匯入依賴。 3.在resource檔案中新增application.conf檔案。然後配置引數。 db.def

linux下啟用定時任務mysql資料庫進行定時備份

                                          &

DJANGO專案用WEB的方式MYSQL資料庫進行備份匯出等管理任務的實現

環境:PYTHON2.7,DJANGO1.9.9 urls.py 加一行: url(r'^mysqldatamanage/', views.mysqldatamanage,name='mysqldatamanage'),   views.py新增對應的方mysqldatam

Spring Boot 2.x使用Spring Data JpaMySQL資料庫進行CRUD操作

 只需兩步!Eclipse+Maven快速構建第一個Spring Boot專案 構建了第一個Spring Boot專案。 Spring Boot連線MySQL資料庫 連線了MySQL資料庫。 本文在之前的基礎上,使用Spring Data Jpa對MySQL

C++MySQL資料庫進行匯出和匯入操作

相信大家應該在網上看到很多利用SQL語句對MySQL資料庫的表或者資料庫本身進行匯出和匯入操作。在window環境下利用dos命令列匯出資料庫(我的mysq直接裝在c盤根目錄下下,其bin目錄為:c:/mysql/bin): 1、執行MySQL資料庫匯出操作: c:\my

MyCat:MySQL資料庫進行分庫分表

本篇前提: mycat配置正確,且能正常啟動。 1、schema.xml <table>標籤: dataNode -- 分片節點指定(取值:dataNode中的name屬性值) rule ------ 分片規則選擇(取值:rule標籤中的

用JavaScriptMySQL資料庫進行操作的方法

Javascript訪問Access很容易實現,但JS訪問MYSQL卻沒有找到很簡單的方法。今天在瀏覽MYSQL網站時,發現MYSQL有ODBC連線,突然想到JS是可以通過ActiveX訪問ODBC資料庫的,經過測試發現JS連線MYSQL如此簡單!1、下載MYSQL的ODB

JavaMySQL資料庫進行操作【java】

資料庫幾乎是每一個應用型的程式都會用到,學會如何高效操作資料庫也是開發一個重點。今天我總結了具體的操作步驟以及注意點。Java訪問資料庫主要用的方法是JDBC,它是java語言中用來規範客戶端程式如何來訪問資料庫的應用程式介面,提供了諸如查詢和更新資料庫中資料的方法,接下來

nodejs 利用mysql資料庫進行查詢和插入資料

nodejs對資料庫的操作是比較簡單的。下面看一個對laughter庫操作: 這是專案檔案結構圖: config.js的配置如下: //資料庫配置檔案 module.exports = { mysql: {

使用JDBCMySQL資料庫進行查 7.03

JDBC(Java Data Base Connectivity,java資料庫連線)是一種用於執行SQL語句的Java API,可以為多種關係資料庫提供統一訪問,它由一組用 Java語言編寫的類和

JAVAMYSQL資料庫進行批量操作,addBatch(),executeBatch()方法

有人說MySql的JDBC驅動,不是真正支援批量操作的,就算你在程式碼中呼叫了批量操作的方法,MySql的JDBC驅動也是按照一般操作來處理的。 但其實並非如此,Mysql 是有特殊的方式優化整個batch insert 結果的。 可不可以先假設 batch 的方式與非

Hibernate框架mysql資料庫進行CRUD(增改改刪)

使用hibernate框架對mysql資料庫進行增刪改查 1、建立一個java工程,並且建立一個數據庫hibernate 2、建立一個lib資料夾,拷貝jar包,並且build path(圈起的三個是測試jar包,編輯器有的話可以不考)

如何用JMeterMySQL資料庫進行壓測?

在Jmeter中建立一個JDBC Request 測試計劃主要分兩步。 (1)設定JDBC連線池(在JDBC Connection Configuration) (2)新增JDBC Request 其他步驟就是設定引數化、斷言、監聽結果。 第一步:新增 JDBC Conne

JDBC javaMySQL資料庫進行查詢操作,並把查詢的結果輸出

Resultset中的所有資料都可以通過getString()方法取得 String是可以接收表中的任意型別列的內容,所以在以下的程式中全部都使用getString()接收 package JDBC;

eclipse(Java)MySQL資料庫進行連線查詢和修改

  (1) 呼叫Class.forName()方法載入驅動程式。   (2) 呼叫DriverManager物件的getConnection()方法,獲得一個Connection物件。   (3) 建立一個Statement物件,準備一個SQL語句,這個SQL語句可以是Statement物件(立即執行的的語

sysbenchmysql資料庫進行壓力測試

轉載請註明出處:https://blog.csdn.net/qq_30186661/article/details/80224301一、安裝sysbench平臺:ubuntucurl -s https://packagecloud.io/install/repositorie

利用mysqltuner工具mysql資料庫進行優化

mysqltuner工具使用,本工具建議定期執行,發現目前MYSQL資料庫存在的問題及修改相關的引數工具的下載及部署 解決環境依賴,因為工具是perl指令碼開發的,需要perl指令碼環境 # yun install -y perl* 下載指令碼 在http://mysql

用java實現MySql資料庫中資料的讀取插入修改和刪除

目標: 1、實現eclipse同資料庫的連線 2、在eclipse中用java實現對資料庫的控制 初學java和資料庫,本文是參考這篇文章的思路的學習筆記,程式碼實現了將4個控制函式(讀取、插入、修改和刪除)分別寫成4個靜態方法呼叫。 1. 關於java和MySQL的連