好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Python流行ORM框架sqlalchemy的簡單使用

Python流行ORM框架sqlalchemy的簡單使用

熱門標簽:如何地圖標注公司 外賣地址有什么地圖標注 預覽式外呼系統 煙臺電話外呼營銷系統 上海正規的外呼系統最新報價 長春極信防封電銷卡批發 電銷機器人錄音要學習什么 企業彩鈴地圖標注 銀川電話機器人電話

安裝

http://docs.sqlalchemy.org

1、安裝

#進入虛擬環境
#執行
./python3 -m pip install

import sqlalchemy
print(sqlalchemy.__version__) # 1.1.15
我這里使用的版本是1.1.15

創建連接對象

http://docs.sqlalchemy.org/en/latest/orm/tutorial.html#connecting

from sqlalchemy import create_engine
# 連接本地test數據庫
engine = create_engine("mysql://root:root@localhost/test?charset=utf8")

運行時會出錯,因為需要驅動庫,默認會調用MySQLdb。

ImportError: No module named 'MySQLdb'

我們前面安裝了pymysql,因此完整的要這么寫:

engine = create_engine("mysql+pymysql://root:root@localhost/test?charset=utf8")

簡單使用

SQL語句查詢

result = engine.execute("select * from news")
print(result.fetchall())
#[(1, '本機新聞標題'), (2, '今天的新聞'), (3, '新聞標題1'), (4, '新聞標題2'), (5, '元組新聞1'), (6, '元組新聞2')]

創建映射

既然我們用ORM,就是為了少寫甚至不寫SQL語句。

ORM是數據表和對象之間的映射。

http://docs.sqlalchemy.org/en/latest/orm/tutorial.html#declare-a-mapping

1、創建一個Infos.py文件,這個文件我們來做數據表的映射

from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
from sqlalchemy import Column, Integer, String
class News(Base):
# 表名稱
__tablename__ = 'news'
# news表里id字段
id = Column(Integer, primary_key=True, autoincrement=True)
# news表里title字段
title = Column(String(length=255), nullable=False)

News類就是我們數據表news的映射(字段:id、title)。

2、使用

from sqlalchemy import create_engine
from mappers.Infos import News
from sqlalchemy.orm import sessionmaker
# 連接本地test數據庫
engine = create_engine("mysql+pymysql://root:root@localhost/test?charset=utf8")
# 創建會話
session = sessionmaker(engine)
mySession = session()
# 查詢結果集
result = mySession.query(News).all()
print(result[0])

我們要注意最后的查詢結果,看看結果集中的元素長什么樣?^_^

mappers.Infos.News object at 0x1050c6e80>

查詢處理的記錄都是對象。

各種查詢

只查詢第一條記錄

# 查詢第一條
result = mySession.query(News).first()
print(result.title) #打印對象屬性
通過id字段查詢

# 查詢id為2的
result = mySession.query(News).filter_by(id=2).first()
print(result.title)
# 查詢id為2的
result = mySession.query(News).filter(News.id==2).first()
分頁查詢

# 分頁查詢 0,2
result = mySession.query(News).filter(News.id>1).limit(2).offset(0).all()
print(result)
自定義過濾條件

# 自定義過濾條件
result = mySession.query(News).filter(text("id>:id")).params(id=2).all()

根據主鍵查詢

result = mySession.query(News).get(3)
print(result.title)

新增和修改

# 新增
news = News(title="新增測試標題")
mySession.add(news)
mySession.commit()
#修改
mySession.query(News).filter(News.id==7).update({"title":"修改之后的標題"})
mySession.commit()

Python利用sqlacodegen自動生成ORM實體類示例

前面方法我們是手動創建了一個名叫Infos.py的文件,然后定義了一個News類,把這個類作為和我們news數據表的映射。

from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
from sqlalchemy import Column, Integer, String
class News(Base):
# 表名稱
__tablename__ = 'news'
# news表里id字段
id = Column(Integer, primary_key=True, autoincrement=True)
# news表里title字段
title = Column(String(length=255), nullable=False)

現在我們來看看sqlacodegen這個工具,自動生成像上面那樣的類文件。

1、安裝sqlacodegen

#cd 項目虛擬環境
#執行
./python3 -m pip install sqlacodegen

2、使用sqlacodegen生成案列

#注意還是在虛擬環境目錄下執行
./sqlacodegen --tables fund --outfile ../../mappers/Found.py mysql+pymysql://root:root@localhost/test?charset=utf8

到此這篇關于Python流行ORM框架sqlalchemy的文章就介紹到這了,更多相關Python ORM框架sqlalchemy內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python數據庫如何連接SQLite詳解
  • python實現sqlalchemy的使用概述
  • python中的mysql數據庫LIKE操作符詳解
  • Python3 MySQL 數據庫連接的使用示例
  • python配置mssql連接的方法
  • python 操作sqlite數據庫的方法
  • 適合Python項目的五大SQL連接器

標簽:上饒 珠海 盤錦 湖北 潮州 佳木斯 西寧 宜昌

巨人網絡通訊聲明:本文標題《Python流行ORM框架sqlalchemy的簡單使用》,本文關鍵詞  Python,流行,ORM,框架,sqlalchemy,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python流行ORM框架sqlalchemy的簡單使用》相關的同類信息!
  • 本頁收集關于Python流行ORM框架sqlalchemy的簡單使用的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 巜电车痴汉玩弄人妻HD| 男生操美女| 久久久久精品无码一区二区| 波多野结衣电影播放| 一级A片60分钟免费看| 国产欧美三级| 少妇荡乳情欲办公室A片漫画| 3黑人巨大vs北岛玲| 成年人在线看片| 韩国r级伦理电影2020在线观看| 炮灰美人被浇灌日常by梦见好| XXXX大荫茎XXXXX| 很黄很色的摸下面的视频| 久久精品无码国产免费| 国产在线播放不卡| 曹查理三级在线全部电影| 免费特级毛片| 晚上偷偷看的WwW视频软件| 国产精品 9 2 1 5麻豆色情免费看| 免费成人黄色大片| 精品在线视频| 美国白人未成年rapper豆瓣| 九九久久精品无码专区免费| 美女胸又黄又???| 在线黄色免费网站| **性色生活片毛片| 波多野结衣办公室系列 | 夜里被老头摸出水好爽| 国产精品国三级国产AV无密码 | 成人毛片18女人毛片免费看3D动漫| 最近中文字幕免费完整版| 男人干女人的视频| 欧美aⅴ| 阿娇激烈床震叫大尺度| 真是外女刚成年摘花| 91嫩草国产丨精品入口麻豆| 青青久久精品国产| 一级毛片在线看在线播放| 寡妇门前小说| 99精品国产99久久久久影院| 高清国产在线精品国偷产拍陆萱萱丝袜美腿内衣模特写真图片 |