电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

Python 操作 PostgreSQL 數據庫示例【連接、增刪改查等】

瀏覽:113日期:2022-07-29 13:36:37

本文實例講述了Python 操作 PostgreSQL 數據庫。分享給大家供大家參考,具體如下:

我使用的是 Python 3.7.0

PostgreSQL可以使用psycopg2模塊與Python集成。

sycopg2是用于Python編程語言的PostgreSQL數據庫適配器。

psycopg2是非常小,快速,穩定的。 您不需要單獨安裝此模塊,因為默認情況下它會隨著Python 2.5.x版本一起發布。

pip3 install python-psycopg2pip3 install psycopg2-binary

連接到數據庫

以下Python代碼顯示了如何連接到現有的數據庫。 如果數據庫不存在,那么它將自動創建,最后將返回一個數據庫對象。

#!/usr/bin/pythonimport psycopg2conn = psycopg2.connect(database='testdb', user='postgres', password='pass123', host='127.0.0.1', port='5432')print('Opened database successfully')

在這里指定使用testdb作為數據庫名稱,如果數據庫已成功打開連接,則會提供以下消息:

Open database successfully

創建表

以下Python程序將用于在先前創建的數據庫(testdb)中創建一個表:

#!/usr/bin/pythonimport psycopg2conn = psycopg2.connect(database='testdb', user='postgres', password='pass123', host='127.0.0.1', port='5432')print('Opened database successfully')cur = conn.cursor()cur.execute(’’’CREATE TABLE COMPANY (ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL);’’’)print 'Table created successfully'conn.commit()conn.close()

當執行上述程序時,它將在數據庫testdb中創建COMPANY表,并顯示以下消息:

Opened database successfullyTable created successfully

插入操作

以下Python程序顯示了如何在上述示例中創建的COMPANY表中創建記錄:

#!/usr/bin/pythonimport psycopg2conn = psycopg2.connect(database='testdb', user='postgres', password='pass123', host='127.0.0.1', port='5432')print('Opened database successfully')cur = conn.cursor()cur.execute('INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, ’Paul’, 32, ’California’, 20000.00 )');cur.execute('INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2, ’Allen’, 25, ’Texas’, 15000.00 )');cur.execute('INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (3, ’Teddy’, 23, ’Norway’, 20000.00 )');cur.execute('INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (4, ’Mark’, 25, ’Rich-Mond ’, 65000.00 )');conn.commit()print('Records created successfully');conn.close()

當執行上述程序時,它將在COMPANY表中創建/插入給定的記錄,并顯示以下兩行:

Opened database successfullyRecords created successfully

SELECT操作

以下 Python 程序顯示了如何從上述示例中創建的 COMPANY 表中獲取和顯示記錄:

#!/usr/bin/pythonimport psycopg2conn = psycopg2.connect(database='testdb', user='postgres', password='pass123', host='127.0.0.1', port='5432')print('Opened database successfully')cur = conn.cursor()cur.execute('SELECT id, name, address, salary from COMPANY')rows = cur.fetchall()for row in rows: print('ID = ', row[0]) print('NAME = ', row[1]) print('ADDRESS = ', row[2]) print('SALARY = ', row[3], 'n')print('Operation done successfully');conn.close()

執行上述程序時,會產生以下結果:

Opened database successfullyID = 1NAME = PaulADDRESS = CaliforniaSALARY = 20000.0

ID = 2NAME = AllenADDRESS = TexasSALARY = 15000.0

ID = 3NAME = TeddyADDRESS = NorwaySALARY = 20000.0

ID = 4NAME = MarkADDRESS = Rich-MondSALARY = 65000.0

Operation done successfully

更新操作

以下 Python 代碼顯示了如何使用UPDATE語句來更新任何記錄,然后從COMPANY表中獲取并顯示更新的記錄:

#!/usr/bin/pythonimport psycopg2conn = psycopg2.connect(database='testdb', user='postgres', password='pass123', host='127.0.0.1', port='5432')print('Opened database successfully')cur = conn.cursor()cur.execute('UPDATE COMPANY set SALARY = 25000.00 where ID=1')conn.commitprint('Total number of rows updated :', cur.rowcount)cur.execute('SELECT id, name, address, salary from COMPANY')rows = cur.fetchall()for row in rows: print('ID = ', row[0]) print('NAME = ', row[1]) print('ADDRESS = ', row[2]) print('SALARY = ', row[3], 'n')print('Operation done successfully');conn.close()

Python

執行上述程序時,會產生以下結果:

Opened database successfullyTotal number of rows updated : 1ID = 1NAME = PaulADDRESS = CaliforniaSALARY = 25000.0

ID = 2NAME = AllenADDRESS = TexasSALARY = 15000.0

ID = 3NAME = TeddyADDRESS = NorwaySALARY = 20000.0

ID = 4NAME = MarkADDRESS = Rich-MondSALARY = 65000.0

Operation done successfully

刪除操作

以下 Python 代碼顯示了如何使用 DELETE 語句來刪除記錄,然后從 COMPANY 表中獲取并顯示剩余的記錄:

#!/usr/bin/pythonimport psycopg2conn = psycopg2.connect(database='testdb', user='postgres', password='pass123', host='127.0.0.1', port='5432')print('Opened database successfully')cur = conn.cursor()cur.execute('DELETE from COMPANY where ID=2;')conn.commitprint('Total number of rows deleted :', cur.rowcount)cur.execute('SELECT id, name, address, salary from COMPANY')rows = cur.fetchall()for row in rows: print('ID = ', row[0]) print('NAME = ', row[1]) print('ADDRESS = ', row[2]) print('SALARY = ', row[3], 'n')print('Operation done successfully');conn.close()

執行上述程序時,會產生以下結果:

Opened database successfullyTotal number of rows deleted : 1ID = 1NAME = PaulADDRESS = CaliforniaSALARY = 20000.0

ID = 3NAME = TeddyADDRESS = NorwaySALARY = 20000.0

ID = 4NAME = MarkADDRESS = Rich-MondSALARY = 65000.0

Operation done successfully

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python常見數據庫操作技巧匯總》、《Python數學運算技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》

希望本文所述對大家Python程序設計有所幫助。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 东莞市海宝机械有限公司-不锈钢分选机-硅胶橡胶-生活垃圾-涡电流-静电-金属-矿石分选机 | 篮球架_乒乓球台_足球门_校园_竞技体育器材_厂家_价格-沧州浩然体育器材有限公司 | 太阳能发电系统-太阳能逆变器,控制器-河北沐天太阳能科技首页 | 柔软云母板-硬质-水位计云母片组件-首页-武汉长丰云母绝缘材料有限公司 | 电缆故障测试仪_电缆故障定位仪_探测仪_检测仪器_陕西意联电气厂家 | 云南标线|昆明划线|道路标线|交通标线-就选云南云路施工公司-云南云路科技有限公司 | 恒温恒湿试验箱厂家-高低温试验箱维修价格_东莞环仪仪器_东莞环仪仪器 | 千斤顶,液压千斤顶-力良企业,专业的液压千斤顶制造商,shliliang.com | 螺旋丝杆升降机-SWL蜗轮-滚珠丝杆升降机厂家-山东明泰传动机械有限公司 | 钢化玻璃膜|手机钢化膜|钢化膜厂家|手机保护膜-【东莞市大象电子科技有限公司】 | 垃圾压缩设备_垃圾处理设备_智能移动式垃圾压缩设备--山东明莱环保设备有限公司 | 潍坊青州古城旅游景点攻略_青州酒店美食推荐-青州旅游网 | 硅胶管挤出机厂家_硅胶挤出机生产线_硅胶条挤出机_臣泽智能装备 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 布袋除尘器-单机除尘器-脉冲除尘器-泊头市兴天环保设备有限公司 布袋除尘器|除尘器设备|除尘布袋|除尘设备_诺和环保设备 | 英国雷迪地下管线探测仪-雷迪RD8100管线仪-多功能数字听漏仪-北京迪瑞进创科技有限公司 | 云南外加剂,云南速凝剂,云南外加剂代加工-普洱澜湄新材料科技有限公司 | 北京律师事务所_房屋拆迁律师_24小时免费法律咨询_云合专业律师网 | 吉祥新世纪铝塑板_生产铝塑板厂家_铝塑板生产厂家_临沂市兴达铝塑装饰材料有限公司 | 全自动包装机_灌装机生产厂家-迈驰包装设备有限公司 | 济南品牌设计-济南品牌策划-即合品牌策划设计-山东即合官网 | 沈阳建筑设计公司_加固改造设计_厂房设计_设计资质加盟【金辉设计】 | LZ-373测厚仪-华瑞VOC气体检测仪-个人有毒气体检测仪-厂家-深圳市深博瑞仪器仪表有限公司 | 除甲醛公司-甲醛检测治理-杭州创绿家环保科技有限公司-室内空气净化十大品牌 | 电解抛光加工_不锈钢电解抛光_常州安谱金属制品有限公司 | 客服外包专业服务商_客服外包中心_网萌科技 | 康明斯发电机,上柴柴油发电机,玉柴柴油发电机组_海南重康电力官网 | 耐酸碱胶管_耐腐蚀软管总成_化学品输送软管_漯河利通液压科技耐油耐磨喷砂软管|耐腐蚀化学软管 | 玻璃钢型材_拉挤模具_玻璃钢拉挤设备——滑县康百思 | 液压油缸生产厂家-山东液压站-济南捷兴液压机电设备有限公司 | 合肥风管加工厂-安徽螺旋/不锈钢风管-通风管道加工厂家-安徽风之范 | 北京律师事务所_房屋拆迁律师_24小时免费法律咨询_云合专业律师网 | 齿辊分级破碎机,高低压压球机,立式双动力磨粉机-郑州长城冶金设备有限公司 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 | 小小作文网_中小学优秀作文范文大全| 污水提升器,污水提升泵,地下室排水,增压泵,雨水泵,智能供排水控制器-上海智流泵业有限公司 | Brotu | 关注AI,Web3.0,VR/AR,GPT,元宇宙区块链数字产业 | 卫生型双针压力表-高温防腐差压表-安徽康泰电气有限公司 | 地磅-地秤-江阴/无锡地磅-江阴天亿计量设备有限公司_ | 空气能暖气片,暖气片厂家,山东暖气片,临沂暖气片-临沂永超暖通设备有限公司 | 船用泵,船用离心泵,船用喷射泵,泰州隆华船舶设备有限公司 |