把MySQL表結(jié)構(gòu)映射為Python中的對(duì)象的教程
ORM
mysql的表結(jié)構(gòu)是二維表,用python的數(shù)據(jù)結(jié)構(gòu)表示出來(lái)就是一個(gè)列表,每一個(gè)記錄是一個(gè)tuple。如下所示:
[('1', ''huangyi),('2', ''letian),('3', 'xiaosi')]
這一行并不便于看出表的結(jié)構(gòu),可以把它換成對(duì)象的形式。
class User(object): def __init__(self, id, name): self.id = id self.name = name
得到:
[ User('1', 'huangyi'), User('2', 'letian'), User('3', 'xiaosi') ]
這就是ORM(Object-relational Mapping),把關(guān)系數(shù)據(jù)庫(kù)的表結(jié)構(gòu)映射到對(duì)象上。我們可以用SQLAlchemy框架來(lái)進(jìn)行映射。
SQLAlchemy
#!/usr/bin/env python #-*-coding:utf-8 -*- from sqlalchemy import Column, String, create_engine from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() class User(Base): __tablename__ = 'user' id = Column(String(20), primary_key=True) name = Column(String(20)) engine = create_engine('mysql+mysqlconnector://root:XXXXX@localhost:3306/TUZHI') DBSession = sessionmaker(bind=engine) session = DBSession() new_user = User(id='4', name='Huangyi') session.add(new_user) session.commit() #session.close() ##進(jìn)行查詢(xún) #session = DBSession() user = session.query(User).filter(User.id=='4').one() print 'type:', type(user) print 'name:', user.name session.close()
- python的mysql數(shù)據(jù)庫(kù)建立表與插入數(shù)據(jù)操作示例
- Python實(shí)現(xiàn)將MySQL數(shù)據(jù)庫(kù)表中的數(shù)據(jù)導(dǎo)出生成csv格式文件的方法
- Python實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)更新表數(shù)據(jù)接口的功能
- Python中模塊pymysql查詢(xún)結(jié)果后如何獲取字段列表
- Python MySQL進(jìn)行數(shù)據(jù)庫(kù)表變更和查詢(xún)
- Python如何讀取MySQL數(shù)據(jù)庫(kù)表數(shù)據(jù)
- Python增量循環(huán)刪除MySQL表數(shù)據(jù)的方法
- Pymysql實(shí)現(xiàn)往表中插入數(shù)據(jù)過(guò)程解析
相關(guān)文章
Python輸出\u編碼將其轉(zhuǎn)換成中文的實(shí)例
今天小編就為大家分享一篇Python輸出\u編碼將其轉(zhuǎn)換成中文的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12Python爬取網(wǎng)易云音樂(lè)熱門(mén)評(píng)論
本文將詳細(xì)介紹了Python獲取網(wǎng)易云音樂(lè)熱門(mén)評(píng)論的實(shí)例。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-03-03Python利用yarl實(shí)現(xiàn)輕松操作url
在諸如網(wǎng)絡(luò)爬蟲(chóng)、web應(yīng)用開(kāi)發(fā)等場(chǎng)景中,我們需要利用Python完成大量的url解析、生成等操作。本文為大家介紹了Pythonyarl操作url的方法,需要的可以了解一下2022-10-10Python編程中歸并排序算法的實(shí)現(xiàn)步驟詳解
這篇文章主要介紹了Python編程中歸并排序算法的實(shí)現(xiàn)步驟詳解,歸并排序的平均時(shí)間復(fù)雜度為(n\log n),需要的朋友可以參考下2016-05-05PyTorch+LSTM實(shí)現(xiàn)單變量時(shí)間序列預(yù)測(cè)
時(shí)間序列是指在一段時(shí)間內(nèi)發(fā)生的任何可量化的度量或事件。這篇文章主要為大家介紹了PyTorch+LSTM實(shí)現(xiàn)單變量時(shí)間序列預(yù)測(cè)的相關(guān)資料,需要的可以參考一下2023-02-02Pycharm報(bào)錯(cuò):'NoneType'?object?has?no?attribute?
這篇文章主要給大家介紹了關(guān)于Pycharm報(bào)錯(cuò):'NoneType'?object?has?no?attribute?'bytes'的解決方法,文中通過(guò)圖文將解決的方法介紹的非常詳細(xì),需要的朋友可以參考下2022-02-02