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

歡迎訪問 生活随笔!

生活随笔

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

python

python3之SQLAlchemy

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

1、SQLAlchemy介紹

SQLAlchemy是Python SQL工具包和對象關系映射器,為應用程序開發人員提供了SQL的全部功能和靈活性。

它提供了一整套眾所周知的企業級持久性模式,專為高效和高性能的數據庫訪問而設計,適用于簡單的Pythonic域語言。

SQLAlchemy對象關系映射器提供了一種將用戶定義的Python類與數據庫表關聯的方法,以及這些類(對象)在其相應表中具有行的實例。它包括一個系統,可以透明地同步對象及其相關行之間狀態的所有變化(稱為工作單元),以及根據用戶定義的類和它們之間定義的關系來表示數據庫查詢的系統。

2、sqlalchemy安裝鏈接

可以使用easy_install或者pip安裝SQLAlchemy:

easy_install sqlalchemy 或者 pip install sqlalchemy

查看SQLAlchemy版本信息

In [1]: import sqlalchemyIn [2]: sqlalchemy.__version__ Out[2]: '1.2.4'

SQLAlchemy是Python編程語言下的一款ORM框架,該框架建立在數據庫API之上,使用關系對象映射進行數據庫操作,簡言之便是:將對象轉換成SQL,然后使用數據API執行SQL并獲取執行結果。

操作數據庫方法1:

使用 Engine/ConnectionPooling/Dialect 進行數據庫操作,Engine使用ConnectionPooling連接數據庫,然后再通過Dialect執行SQL語句。

連接數據庫使用create_engine():

from sqlalchemy import create_engine #鏈接數據庫 engine = create_engine('mysql+pymysql://test:123@10.0.0.10:3306/test') #創建表 engine.execute('create table test1(id int,name varchar(48),salary int not null)') #插入表數據 engine.execute("insert into test1(id,name,salary) values(1,'zs',88888)") #查看數據 result = engine.execute('select * from test1') print(result.fetchall())

不同數據庫和API鏈接數據庫的操作格式:

MySQL-Pythonmysql+mysqldb://<user>:<password>@<host>[:<port>]/<dbname>pymysqlmysql+pymysql://<username>:<password>@<host>/<dbname>[?<options>]MySQL-Connectormysql+mysqlconnector://<user>:<password>@<host>[:<port>]/<dbname>cx_Oracleoracle+cx_oracle://user:pass@host:port/dbname[?key=value&key=value...]更多詳見:http://docs.sqlalchemy.org/en/latest/dialects/index.html

操作數據庫方法2:

使用 Schema Type/SQL Expression Language/Engine/ConnectionPooling/Dialect 進行數據庫操作。Engine使用Schema Type創建一個特定的結構對象,之后通過SQL Expression Language將該對象轉換成SQL語句,然后通過?ConnectionPooling 連接數據庫,再然后通過?Dialect 執行SQL,并獲取結果。

#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/2/28 16:06 # @Author : Py.qi # @File : sqlalchemy_mysql_metadata.py # @Software: PyCharmfrom sqlalchemy import select,create_engine, Table, Column, Integer, String, MetaData, ForeignKeymetadata = MetaData() #創建表 user = Table('teacher', metadata,Column('id', Integer, primary_key=True),Column('name', String(20)), ) #創建表 color = Table('student', metadata,Column('id', Integer, primary_key=True),Column('name', String(20)), ) #鏈接數據庫 engine = create_engine("mysql+pymysql://test:123@10.0.0.10:3306/test", max_overflow=5) #執行引擎語句 #metadata.create_all(engine) #獲取sql游標 conn = engine.connect() # 創建SQL語句,插入數據 sql=user.insert().values(name='aa') sql1=user.insert().values(name='bb') #conn.execute(sql) #conn.close()#刪除數據 #sql3 = user.delete().where(user.c.id > 1) #conn.execute(sql3) #conn.close() #更新數據 #sql4 = user.update().where(user.c.name == 'fenzi').values(name='dddd') #conn.execute(sql4) #查詢數據 sql5=select([user,]) #sql6 = select([user.c.id,]) #sql7 = select([user.c.id, color.c.name]).where(user.c.id=='6') # sql = select([user.c.name]).order_by(user.c.name) # sql = select([user]).group_by(user.c.name) result = conn.execute(sql5) print(result.fetchall()) conn.close()

操作數據庫方法3:

使用 ORM/Schema Type/SQL Expression Language/Engine/ConnectionPooling/Dialect 所有組件對數據進行操作。根據類創建對象,對象轉換成SQL,執行SQL。

#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/2/28 17:16 # @Author : Py.qi # @File : sqlalchemy_expression.py # @Software: PyCharmfrom sqlalchemy import Column,Integer,String from sqlalchemy.orm import sessionmaker from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base #echo輸出詳細 engine = create_engine("mysql+pymysql://test:123@10.0.0.10:3306/test",max_overflow=5,echo=True) base=declarative_base() #創建基類 class user(base):__tablename__ = 'users'id = Column(Integer,primary_key=True,autoincrement=True)hostname=Column(String(64),unique=True,nullable=False)ip_addr=Column(String(56),unique=True,nullable=False)port=Column(Integer,default=22) #尋找Base的所有子類,按照子類的結構在數據庫中生成對應的數據表信息 base.metadata.create_all(engine) Session=sessionmaker(bind=engine) session=Session() #增,插入單行 #u = user(hostname='zs',ip_addr='333',port=22) #session.add(u) #插入多行 #session.add_all([user(hostname='ls',ip_addr='111',port=873), # user(hostname='ww',ip_addr='888',port=23), # user(hostname='dff',ip_addr='567',port=3306) # ]) #寫入數據庫 #session.commit()#刪除 #session.query(user).filter(user.id > 3).delete() #session.commit()#修改 # session.query(user).filter(user.id == 3).update({'hostname':'feng','port':3389}) # session.commit()# #ret=session.query(user).filter_by(hostname='feng').first() # ret = session.query(user).filter_by(hostname='feng').all() # print(ret) ret = session.query(user).filter(user.hostname.in_(['sb','bb'])).all() # print(ret)# ret = session.query(User.name.label('name_label')).all() # print(ret,type(ret))# ret = session.query(User).order_by(User.id).all() # print(ret)# ret = session.query(User).order_by(User.id)[1:3]print(ret) session.commit()

SQLAlchemy官網:http://www.sqlalchemy.org/

轉載于:https://www.cnblogs.com/zhangxinqi/p/8480049.html

總結

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

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

主站蜘蛛池模板: 日韩经典第一页 | 伊人二区 | 亚洲乱码精品久久久久.. | 亚洲精品白浆高清久久久久久 | 欧美福利片在线观看 | 日批动态图 | 奴性女会所调教 | 夜夜骑夜夜操 | 国产成人在线视频 | 永久视频| 久久综合资源 | 国产精品免费一区二区三区四区 | 欧美视频一区二区三区四区 | 无码人妻精品一区二区三区99v | 日韩中文字幕在线观看视频 | 黄色链接视频 | 久久久久久片 | 中文字幕欧美另类精品亚洲 | 99精品在线免费观看 | 97自拍视频在线 | 天天色综合久久 | 精品国产无码一区二区三区 | 五月激情啪啪 | 韩国三级hd中文字幕的背景音乐 | 精品中文一区二区三区 | 射射av| 五月天开心激情 | 午夜视频www | 色原网 | 香蕉精品视频在线观看 | 日本黄色一区 | 国产一区二区在线播放 | a毛片大片 | 丁香婷婷六月天 | 久久天堂视频 | 日韩人妻精品中文字幕 | 久久亚洲a v | 色中色综合 | 日韩中文字幕网站 | 日韩一区网站 | 夜夜福利 | 亚洲视频一区二区三区在线观看 | 欧美黑人一区二区三区 | 国产无码日韩精品 | 国产浪潮av | 91午夜免费视频 | 亚洲国产精品成人久久蜜臀 | 午夜精品久久久久久久久久久久久 | 制服.丝袜.亚洲.中文.综合懂 | 欧美国产中文 | 少妇毛片一区二区三区粉嫩av | 亚洲一卡二卡在线 | 国产强被迫伦姧在线观看无码 | 97视频在线观看免费 | 91av欧美| 漂亮人妻洗澡被公强 日日躁 | 国产一区二 | 亚洲怡红院av | 久久久久久久久免费看无码 | 日韩在线看片 | 午夜两性| 欧洲天堂网 | 妞妞av| 草久在线观看 | 夜色综合 | 久久对白| 国产91精品高潮白浆喷水 | 国产三级日本三级在线播放 | 欧洲精品久久久久毛片完整版 | 亚洲性生活 | 91成人毛片 | 国产看真人毛片爱做a片 | 欧美jizzhd欧美18 | 成年人视频网址 | 亚洲最新在线观看 | mm1313亚洲国产精品美女 | 粉嫩av国产一区二区三区 | 黄色福利社| 亚洲 欧美 另类 综合 偷拍 | 伊人色网站 | 在线成人毛片 | 国产最新视频在线 | 97久久精品人人澡人人爽 | 日本一区二区三区中文字幕 | 国产又猛又黄又爽 | 国产孕妇一区二区三区 | 91免费高清在线观看 | 婷婷在线免费观看 | 国产1级片 | 色天天色综合 | 在线综合视频 | 黄色视屏在线 | 免费黄色一级视频 | 欧美亚洲91 | 久久精品网址 | 欧美在线免费观看视频 | 538精品在线视频 | 色综合区| 国产一级生活片 |