没有合适的资源?快使用搜索试试~ 我知道了~
python连接PostgreSQL数据库的过程详解
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 10 下载量 55 浏览量
2020-09-09
01:10:37
上传
评论
收藏 44KB PDF 举报
温馨提示
试读
1页
主要介绍了python连接PostgreSQL数据库的过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
资源推荐
资源详情
资源评论
python连接连接PostgreSQL数据库的过程详解数据库的过程详解
主要介绍了python连接PostgreSQL数据库的过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工
作具有一定的参考学习价值,需要的朋友可以参考下
1. 常用模块常用模块
# 连接数据库连接数据库
connect()函数创建一个新的数据库连接对话并返回一个新的连接实例对象
PG_CONF_123 = {
'user':'emma',
'port':123,
'host':'192.168.1.123',
'password':'emma',
'database':'dbname'}
conn = psycopg2.connect(**PG_CONF_123)
# 打开一个操作整个数据库的光标打开一个操作整个数据库的光标
连接对象可以创建光标用来执行SQL语句
cur = conn.cursor()
# 执行一个创建表的执行一个创建表的SQL语句语句
光标可以使用execute()和executemany()函数
cur.execute("CREATE TABLE test (id serial PRIMARY KEY, num integer, data varchar);")
# 传递参数给插入语句传递参数给插入语句
cur.execute("INSERT INTO test (num, data) VALUES (%s, %s)",(100, "abc'def"))
# 执行查询语句并将获取到的数据作为执行查询语句并将获取到的数据作为python对象对象
cur.execute("SELECT * FROM test;")
cur.fetchone()
(1, 100, "abc'def")
# 提交修改提交修改
如果只使用查询语句不用commit方法,insert/update/delete等操作需要调用commit()。rollback()函数用于会滚到上次调用
commit()方法之后。
conn.commit()
# 关闭数据库连接关闭数据库连接
cur.close()
conn.close()
2. 防范防范SQL注入漏洞注入漏洞
典型的SQL注入漏洞形式:
SQL = "select * from userinfo where id = '%s'" % (id)
SQL = "select * from userinfo where id = '{}'".format(id)
如果有人恶意攻击,在传入参数的代码中加入恶意代码,如:
request.id = '123; drop tabel userid;'
会造成严重风险,为防止此问题,应该通过第二位变量传入参数的方法:%s(无论变量是什么数据类型,都使用%s)
SQL = "INSERT INTO authors (name) VALUES (%s);" # Note: no quotes
data = ("O'Reilly", )
cur.execute(SQL, data) # Note: no % operator
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
资源评论
- 涂龙柿子2023-05-10发现一个超赞的资源,赶紧学习起来,大家一起进步,支持!
weixin_38747818
- 粉丝: 9
- 资源: 894
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功