Python - 使用 PostgreSQL 数据库
基本用法
# -*- coding: utf-8 -*- # !/usr/bin/python # 需要安装下面的驱动包 import psycopg2 # 连接到一个现有的数据库,如果数据库不存在,那么它就会被创建,最终将返回一个数据库对象。 conn = psycopg2.connect(database="aoye", user="Chris", password="123456", 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") # 插入数据 # 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 )") # print("Records created successfully") # 查询数据 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") # 更新数据 # cur.execute("UPDATE COMPANY set SALARY = 25000.00 where ID=1") # 删除数据 # cur.execute("DELETE from COMPANY where ID=2;") conn.commit() conn.close()
插入数据
- 这里需要留意,插入的数据需要用如下方式传入(有些数据内容包含单引号,必须使用下面的方式插入)
while True: url = f.readline().split()[1] if not url: break else: sql = """INSERT INTO urls(md5,url) VALUES (%s, %s)""" cur.execute(sql,(get_md5(url), url)) conn.commit()
本文来自博客园,作者:duchaoqun,转载请注明原文链接:https://www.cnblogs.com/duchaoqun/p/11974812.html
分类:
Python
标签:
Postgresql
, Python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?