基本用法

# -*- 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()

参考文档:

https://www.cnblogs.com/Erick-L/p/7106816.html

最新文章

  1. Exception in thread "main" java.lang.ExceptionInInitializerError
  2. 搭建IONIC开发环境
  3. Linux 下解压大全
  4. WCF初探-13:WCF客户端为双工服务创建回调对象
  5. 响应式Web设计(Responsive Web design)
  6. maven项目,导入的jar包,没有包含在pom文件中,install失败
  7. QT笔记之自定义窗口拖拽移动
  8. SynchronizationContext的研究之一(非WPF及Forms)
  9. string和stringbuffer stringbuilder的快速理解。
  10. 复合命令A等效于$a
  11. 眼见为实(2):介绍Windows的窗口、消息、子类化和超类化
  12. Postgresql数据库部署之:Postgresql 存在session 会话不能删除数据库
  13. 使用jquery模拟请求,测试项目是否存在跨域限制
  14. MyBatis(十一) 嵌套结果集的方式,使用collection标签定义关联的集合类型的属性封装规则
  15. mac 利用svn下载远程代码出现Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.
  16. [NewLife.XCode]高级增删改
  17. ubuntu默认的Python版本号修改
  18. 9、后记:公司管理经验总结 - CEO之公司管理经验谈
  19. Java并发编程、内存模型与Volatile
  20. C#.NET常见问题(FAQ)-控制台程序如何输出Messagebox

热门文章

  1. redis--主从复制(读写分离)
  2. XML--XML Schema Definition(一)
  3. Teamviewer 退出时设置不锁屏
  4. 18 12 27 css 盒模型使用 以及相关技巧问题 元素溢出 块元素、内联元素、内联块元素
  5. 随机森林RF
  6. centos rpm安装jdk1.8
  7. HGP|VCG|UK10K|中科院职业人群队列研究计划|药物基因组学
  8. TCP/IP与IETF的RFC
  9. Springboot整合Junit单元测试
  10. 自定义的listbox支持拖放