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

歡迎訪問 生活随笔!

生活随笔

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

python

python SQLAlchemy数据库操作

發布時間:2025/5/22 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python SQLAlchemy数据库操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 1 增
    • 2 刪
    • 3 改
    • 4 基礎查詢
      • 4.1 基礎查詢匯總
      • 4.2 限制查詢
      • 4.3 計數
      • 4.4 去重
      • 4.5 排序
      • 4.6 模糊查詢
      • 4.7 分組查詢
      • 4.8 聚合函數
    • 5 多表查詢
      • 5.1 內連接
      • 5.2 左外連接
      • 5.3 復雜查詢
      • 5.4 三表連接
      • 5.5 利用SQLAlchemy執行原生SQL
    • 6 原生語句查詢 返回json格式
    • 3 統計數量

1 增

Customer為表名

try:username = '123456'customerInfo = Customer(username=username)db.add(customerInfo) # 添加數據db.commit() # 提交即保存到數據庫 except Exception as e:db.rollback()print(e)

2 刪

# 刪除 @route('/professionDeleteType/<num>') def professionDeleteType(db,num):print(num)try:print('--------刪除--------------')print(num)TypeNameInfo = db.query(Profession).filter(Profession.pid==int(num)).delete()db.commit() # 提交即保存到數據庫# db.close() # 關閉會話except Exception as e:print(e)return redirect('/profession')

3 改

Users表

try:username = db.query(Users).filter_by(username=username).first()username.nickname = Hnicknameusername.img_url = Himg_urldb.commit() except:db.rollback()print(e)return json.dumps({'data': 0, 'info': '內部錯誤,請刷新!!!'})

4 基礎查詢

4.1 基礎查詢匯總

# select * from users; result = db.query(Users).all() # select uid, username from users; result = db.query(Users.uid, Users.username).all() # select * from users where uid=17 and username='666'; result = db.query(Users).filter_by(uid=17, username='666').all() # select * from users where uid>=16 or username='666'; result = db.query(Users).filter(or_(Users.uid >= 16,Users.username == '666' )).all()

4.2 限制查詢

# 查詢前3行 result = db.query(Users).limit(3).all() # select * from users limit 3,5; result = db.query(Users).limit(3).offset(3).all()

limit:查詢多少條
offset:偏移量 -> 3 表示從第4條開始

4.3 計數

select count(*) from users where ...

filter:== >= < > != != in not

count = db.query(Users).filter(Users.uid > 16).count() print(count)

4.4 去重

select distinct(openid) from users; result = db.query(Users.openid).distinct(Users.openid).all() print(result) for row in result:print(row.openid)

4.5 排序

select * from users order by uid desc; result = db.query(Users).order_by(Users.uid.desc()).all()

4.6 模糊查詢

select * from users where username like '%929%'; result = db.query(Users).filter(Users.username.like('%929%')).all()

4.7 分組查詢

select * from users group by isAdmin; result = db.query(Users).group_by(Users.openid).all() result = db.query(Users).group_by(Users.openid).having(Users.uid > 2).all()

4.8 聚合函數

min、max、avg、sum

select sum(u_dealNum) from users; result = db.query(func.sum(Users.u_dealNum)).first() print(result)

5 多表查詢

5.1 內連接

查詢發表過文章的 用戶信息+文章信息

select a_title from users, article where users.uid=article.uid and article.a_id=1; select a_title from article inner join users on users.uid=article.uid where article.a_id=1; # 多表查詢時,返回的結果集不再是單純的[Model, Model]數據結構,而是每張表的結果有獨立的對象來維護 result = db.query(Article, Users).join(Users, Article.uid == Users.uid).filter(Article.a_id == 1).all() print(result) for article, users in result:print(article.uid, article.a_title, users.username) result = db.query(Article, Users.username).join(Users, Article.uid == Users.uid).filter(Article.a_id == 1).all() print(result) for article, username in result:print(article.uid, article.a_title, username)

5.2 左外連接

查詢所有用戶 寫的文章閱讀量

select nickname,a_title,sum(a_pageviews) as total from users left join article on users.uid=article.uid group by users.uid having total>0; result = db.query(Users.uid, Users.nickname, func.sum(Article.a_pageviews)).outerjoin(Article, Users.uid == Article.uid).group_by(Users.uid).all()

5.3 復雜查詢

and和or混用: username like 'charles' or uid>1 and nickname='導演'

result = db.query(Users).filter(or_(Users.username.like('charles'), and_(Users.uid > 1, Users.nickname == "導演"))).all() result = db.query(Users).filter(Users.username.like('charles'), or_(Users.uid > 1, Users.nickname == "導演")).all() print(result) for row in result:print(row.uid, row.username)

5.4 三表連接

result = db.query(Article, Users).join(Users, Article.uid == Users.uid) \.join(Label, Article.l_id == Label.l_id).all()

5.5 利用SQLAlchemy執行原生SQL

result = db.execute("select * from users").fetchall() print(result)

6 原生語句查詢 返回json格式

try:sql = ''Info = db.execute(sql)print(Info) except Exception as e:db.rollback()print(e) results = [] for i in searchs:bid = i['bid'] # 索引isbn = i['isbn'] # isbnprint(bid)print(isbn)result = {"bid": bid,"isbn": isbn,}print(result)results.append(result)data = {"status": '1',"results": results } return json.dumps(data)

3 統計數量

from sqlalchemy import func older_num = db.query(func.count(Order_history.seller)).filter_by(seller=uname).scalar()

Sqlchemy查詢結果轉json
MySQL 查詢統計 日期查詢

總結

以上是生活随笔為你收集整理的python SQLAlchemy数据库操作的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 日本不卡视频一区二区 | 天天久久| 草草在线观看 | 国产精品毛片一区二区三区 | 苏晴忘穿内裤坐公交车被揉到视频 | 国产午夜精品一区二区三区 | 欧美中文字幕第一页 | 134vcc影院免费观看 | 中国黄色一级大片 | 亚洲成人手机在线 | 午夜大片在线观看 | 亚洲第六页 | 欧美bbbbb| 日韩精品免费视频 | 国产一区二区激情视频 | 成人深夜福利在线观看 | 性色国产成人久久久精品 | 精品视频久久久久 | 女久久| 亚洲性夜 | 国产一区 在线播放 | 日韩精品1区 | 国产69精品久久久久久 | 欧美黑人性xxx | 国产乱子一区二区 | 男人天堂b | 爱逼综合网| 亚洲一区二区自拍偷拍 | 欧美寡妇性猛交 | 免费视频网站在线观看入口 | 欧美最顶级a∨艳星 | 国产91精品久久久久久久网曝门 | 日本熟妇一区二区三区 | 国产精品国产精品国产专区蜜臀ah | 一本久久久久 | 美女毛毛片 | 久久久www成人免费毛片 | 亚洲成人婷婷 | 久草国产精品视频 | 欧美日韩一区二区中文字幕 | 欧美人与禽zozzo禽性配 | 波多野结衣一区二区三区免费视频 | 国产青青操 | 壮汉被书生c到合不拢腿 | 久久精品高清视频 | 午夜网| 草草福利影院 | 久久精品人人 | 亚洲精品视频久久久 | 日韩美在线 | 欧美性高潮视频 | 黑鬼大战白妞高潮喷白浆 | 国产女主播在线一区二区 | 日本视频在线免费 | 亚洲综合久久久 | 亚洲自拍偷拍网 | 嫩草视频一区二区三区 | 色无极亚洲影院 | 91成人黄色| 国产精品无码乱伦 | 干日本少妇 | 国产欧美日 | 激情欧美一区二区三区 | 天堂av在线电影 | 欧美日韩成人在线视频 | 国产午夜视频在线 | 国产精品一线天 | 欧美国产精品一区二区三区 | 伊人av在线播放 | 少女情窦初开的第4集在线观看 | 麻豆成人在线视频 | 欧美一区二区免费视频 | 人人人爽 | 成年人激情网站 | 2022国产精品 | 一区二区在线观看视频 | 亚洲一区二区精品视频 | 一区二区三区在线视频观看 | 人妻偷人精品一区二区三区 | www.69视频 | 青青操在线视频 | 91久久精品日日躁夜夜躁国产 | 日韩一级在线 | 在线观看特色大片免费网站 | 亚洲一区二区在线免费 | 国产欧美在线观看不卡 | 国产91小视频 | 日本少妇ⅹxxxxx视频 | 亚洲第一国产视频 | 中文字幕人妻一区二区三区视频 | 国产精品久久av无码一区二区 | 国产视频分类 | 久草免费在线色站 | 欧美gv在线观看 | 亚洲a视频 | 久久爱综合网 | 在线观看免费av片 | 疯狂做爰的爽文多肉小说王爷 | 成人深夜小视频 |