日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python安装orm_Python流行ORM框架sqlalchemy安装与使用教程

發布時間:2024/9/30 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python安装orm_Python流行ORM框架sqlalchemy安装与使用教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文實例講述了Python流行ORM框架sqlalchemy安裝與使用。分享給大家供大家參考,具體如下:

安裝

1、安裝

#進入虛擬環境

#執行

./python3 -m pip install

import sqlalchemy

print(sqlalchemy.__version__) # 1.1.15

我這里使用的版本是1.1.15

創建連接對象

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是數據表和對象之間的映射。

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])

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

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

各種查詢

只查詢第一條記錄

# 查詢第一條

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程序設計有所幫助。

總結

以上是生活随笔為你收集整理的python安装orm_Python流行ORM框架sqlalchemy安装与使用教程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。