日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python通用數據庫操作工具 pydbclib的使用簡介

瀏覽:39日期:2022-07-01 15:11:27

pydbclib是一個通用的python關系型數據庫操作工具包,使用統一的接口操作各種關系型數據庫(如 oracle、mysql、postgres、hive、impala等)進行增刪改查,它是對各個python數據庫連接驅動包(如sqlalchemy、pymysql、cx_Oracle、pyhive、pyodbc、impala等)的封裝,依照python最簡原則SQL占位符統一成 ’:[name]’ 這一種形式,這點和sqlalchemy是一樣的

安裝

pip3 install pydbclib簡單使用

看下簡單的查詢示例

from pydbclib import connect# 使用with上下文,可以自動提交,自動關閉連接with connect('sqlite:///:memory:') as db: db.execute(’create table foo(a integer, b varchar(20))’) # 統一使用’:[name]’形式的SQL的占位符 db.execute('insert into foo(a,b) values(:a,:b)', [{'a': 1, 'b': 'one'}]*4) print(db.read('select * from foo').get_one()) print(db.read('select * from foo').get_all()) print(db.read('select * from foo').to_df()) db.get_table('foo').insert({'a': 2, 'b': 'two'}) print(db.get_table('foo').find_one({'a': 2})) print(db.get_table('foo').find().get_all()) print(db.get_table('foo').find().to_df())

查詢結果記錄是以字典形式展現,向庫里寫入記錄也是字典形式,如果要使用原生元祖形式,查詢函數read里添加as_dict=False參數

接口文檔

數據庫連接,更多常用數據庫連接方式參考文章結尾

# connect函數有個driver參數決定你是通過哪個數據庫驅動包去連接的# driver參數默認值是sqlalchemy,即通過sqlalchemy驅動包連接數據庫>>> db = pydbclib.connect('sqlite:///:memory:')>>> db = pydbclib.connect(':memory:', driver=’sqlite3’)# 也可以傳入驅動包連接對象>>> import sqlite3>>> db = pydbclib.connect(driver=sqlite3.connect(':memory:'))>>> from sqlalchemy import create_engine>>> db = pydbclib.connect(driver=create_engine('sqlite:///:memory:'))原生SQL接口

1. 使用execute方法執行SQL,和各數據庫連接包基本一致,不同點是它既可以單條執行,也可以批量執行(相當于executemany),另外該方法的SQL占位符是’:[name]’形式

>>> record = {'a': 1, 'b': 'one'}>>> db.execute(’create table foo(a integer, b varchar(20))’)# 插入單條記錄,結果返回影響行數>>> db.execute('insert into foo(a,b) values(:a,:b)', record)1# 插入多條記錄>>> db.execute('insert into foo(a,b) values(:a,:b)', [record, record])2

2. 查詢數據

# 查詢結果只返回一條記錄>>> db.read_one('select * from foo'){’a’: 1, ’b’: ’one’}#read返回迭代器類型,用get方法獲取前幾條記錄,使用map對每條記錄進行數據清洗>>> db.read('select * from foo').map(lambda x: {f'foo.{k}': v for k,v in x.items()}).get(2)# as_dict=False返回原生元祖記錄>>> db.read('select * from foo', as_dict=False).get(2)[(1, ’one’), (1, ’one’)]# 也可以直接for遍歷>>> for r in db.read('select * from foo'):... print(r)... {’a’: 1, ’b’: ’one’}{’a’: 1, ’b’: ’one’}{’a’: 1, ’b’: ’one’}# 轉換成pandas dataframe對象, 前提已經安裝了pandas>>> db.read('select * from foo').to_df() a b0 1 one1 1 one2 1 one

3. 提交、回滾、關閉連接

>>> db.rollback()>>> db.commit()>>> db.close()表級別操作的SQL接口封裝

1. 插入記錄

# 插入單條和插入多條,輸入參數字典的鍵值必須和表中字段同名>>> db.get_table('foo').insert({'a': 1, 'b': 'one'})1>>> db.get_table('foo').insert([{'a': 1, 'b': 'one'}]*10)10

2. 查詢記錄

# 查詢字段a=1第一條記錄>>> db.get_table('foo').find_one({'a': 1}){’a’: 1, ’b’: ’one’}# 也可以直接寫成sql條件表達式,其他接口的條件參數類似都可以是表達式>>> db.get_table('foo').find_one('a=1'){’a’: 1, ’b’: ’one’}# 查詢字段a=1所有記錄,find返回迭代器對象同上面read方法>>> db.get_table('foo').find({'a': 1}).get_all()[{’a’: 1, ’b’: ’one’},...{’a’: 1, ’b’: ’one’}]

3. 更新記錄

# 將a=1那條記錄的b字段值更新為'first'>>> db.get_table('foo').update({'a': 1}, {'b': 'first'})11>>> db.get_table('foo').find({'a': 1}).get_one(){’a’: 1, ’b’: ’first’}

4. 刪除記錄

# 將a=1那條記錄刪除>>> db.get_table('foo').delete({'a': 1})11>>> db.get_table('foo').find({'a': 1}).get_all()[]常用數據庫連接

1. Common Driver

# 使用普通數據庫驅動連接,driver參數指定驅動包名稱# 例如pymysql包driver=’pymysql’,connect函數其余的參數和driver參數指定的包的創建連接參數一致# 連接mysqldb = pydbclib.connect(user='user', password='password', database='test', driver='pymysql')# 連接oracledb = pydbclib.connect(’user/password@local:1521/xe’, driver='cx_Oracle')# 通過odbc方式連接db = pydbclib.connect(’DSN=mysqldb;UID=user;PWD=password’, driver='pyodbc') # 通過已有驅動連接方式連接import pymysqlcon = pymysql.connect(user='user', password='password', database='test')db = pydbclib.connect(driver=con)

2. Sqlalchemy Driver

# 使用Sqlalchemy包來連接數據庫,drvier參數默認為’sqlalchemy’# 連接oracledb = pydbclib.connect('oracle://user:password@local:1521/xe')# 連接mysqldb = pydbclib.connect('mysql+pyodbc://:@mysqldb')# 通過已有engine連接from sqlalchemy import create_engineengine = create_engine('mysql+pymysql://user:password@localhost:3306/test')db = pydbclib.connect(driver=engine)

使用過程中有任何疑問,歡迎評論交流項目地址pydbclib

以上就是python通用數據庫操作工具 pydbclib的使用簡介的詳細內容,更多關于python 數據庫操作工具pydbclib的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
另类激情亚洲| 日本久久成人网| av成人国产| 日韩一区二区免费看| 国产午夜精品一区二区三区欧美| 九九在线精品| 亚洲女同中文字幕| 亚洲一区国产一区| 日本免费新一区视频| 国产精品视频一区二区三区综合| 麻豆视频一区| 99成人在线视频| 一区二区三区午夜视频| 欧美日一区二区三区在线观看国产免| 国产精品片aa在线观看| 美女久久久久久| 日韩另类视频| 亚洲视频www| 国产精品亚洲二区| 美女福利一区二区三区| 国产精品人人爽人人做我的可爱| 五月亚洲婷婷 | 日韩成人亚洲| 亚洲免费激情| 国产精品亚洲人成在99www| 日韩在线精品| 蜜桃传媒麻豆第一区在线观看| 色狠狠一区二区三区| 老司机免费视频一区二区| 91精品韩国| 蜜乳av另类精品一区二区| 国产亚洲电影| 亚洲福利一区| 国产伦理一区| 午夜电影亚洲| 精品日韩一区| 中文一区一区三区免费在线观| 国产精品玖玖玖在线资源| 久久激情一区| 国产精品qvod| 亚洲尤物在线| 美女av在线免费看| 日韩亚洲精品在线观看| 亚洲成av人片一区二区密柚| 国产欧美高清视频在线| 免费不卡中文字幕在线| 国产一卡不卡| 久久av在线| 日韩免费看片| 久久不见久久见中文字幕免费 | 国产精品久久久久久久久久久久久久久| 欧美不卡高清一区二区三区| 国产免费av一区二区三区| 亚洲激情中文在线| 成人台湾亚洲精品一区二区| 一本一道久久a久久| 久久伦理在线| 精品午夜久久| 在线国产日韩| 136国产福利精品导航网址| 欧美黑人做爰爽爽爽| 亚洲综合福利| 国产亚洲在线| 久久国产精品成人免费观看的软件| 国产精品激情| 亚州av日韩av| 免费日韩视频| 蜜桃tv一区二区三区| 中文字幕在线看片| 国产精品欧美大片| 日韩国产欧美在线播放| 午夜在线精品| 激情综合自拍| 成人小电影网站| 美女精品一区二区| 国产日韩三级| 日韩不卡在线观看日韩不卡视频| 国产精品日本欧美一区二区三区| 99热精品久久| 亚洲一级高清| 免费欧美一区| 蜜桃一区二区三区| 激情偷拍久久| 九一精品国产| 红桃视频亚洲| 亚洲一区二区三区免费在线观看| 久久视频国产| 欧美手机在线| 91精品国产乱码久久久久久久 | 极品av在线| 国产乱码午夜在线视频| 精品午夜久久| 国产精品精品| 中文字幕成在线观看| 中文字幕在线免费观看视频| 国产精品福利在线观看播放| 成人一区而且| 日韩成人亚洲| 午夜欧美视频| 视频一区二区三区入口| 石原莉奈在线亚洲二区| 在线精品观看| 色狠狠一区二区三区| 日韩高清电影一区| 国产精品白丝一区二区三区| 免费看久久久| 岛国av免费在线观看| 日韩国产欧美| 99国产成+人+综合+亚洲欧美| 亚洲一区二区毛片| 亚洲精品高潮| 国产欧美69| 天堂中文在线播放| 伊人成人在线视频| 日韩激情网站| 国产成人久久| 欧美日韩国产亚洲一区| 三级欧美在线一区| 日韩黄色av| 久久一区视频| 亚洲午夜一级| 日韩美女精品| 色婷婷色综合| 在线视频精品| 国产精品蜜月aⅴ在线| 国产拍在线视频| 性色av一区二区怡红| 国产日产精品_国产精品毛片| 麻豆国产一区| 亚洲欧美综合| 日韩毛片网站| 国产美女高潮在线| 国产视频欧美| 国产精品porn| 国产韩日影视精品| 国产一区 二区| 久久久影院免费| 人人爱人人干婷婷丁香亚洲| 国产videos久久| 亚洲欧美视频一区二区三区| 国产精品片aa在线观看| 亚洲国内欧美| 国产精品66| 亚洲少妇诱惑| 精品国产亚洲一区二区三区大结局 | 久久黄色影视| 久久青草久久| 国产欧美丝祙| 伊人久久婷婷| 久久精品三级| 综合视频一区| 欧美日韩精品在线一区| 欧美日一区二区三区在线观看国产免| 婷婷激情一区| 国产精品久久久久久久久久妞妞| 999国产精品视频| 国产精品欧美大片| 久久亚洲美女| 久久精品青草| 久久三级中文| 只有精品亚洲| 免费观看不卡av| 91视频久久| 国产精品久一| 亚洲一二av| 亚洲激情中文| 日韩一区三区| 精品五月天堂| 91久久精品无嫩草影院| 99国产精品99久久久久久粉嫩| 国产一区调教| 亚洲欧美日本国产| 欧美另类综合| 久久国产日韩| 四虎国产精品免费观看| 婷婷精品久久久久久久久久不卡| 久久婷婷av| 欧美韩日一区| 久久av网站| 91国内精品| 亚洲三级在线| 快she精品国产999| 欧美福利在线| 久久亚洲在线| 日本欧美不卡| 国产一二在线播放| 麻豆精品一区二区综合av| 亚洲ab电影| 丝袜亚洲另类欧美| 国产视频一区免费看| 欧美成a人免费观看久久| 色乱码一区二区三区网站| 麻豆一区二区三| 国产精品qvod| 久久中文在线| 精品国产午夜肉伦伦影院| 国产精久久久| 欧美激情一区| 美女在线视频一区| 久久这里只有|