python连接PostgreSQL过程解析

  

这篇文章主要介绍了python连接PostgreSQL过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

  

1。常用模块
  

  

#连接数据库
  

  

connect()函数创建一个新的数据库连接对话并返回一个新的连接实例对象

        PG_CONF_123={   “用户”:“艾玛”,   “端口”:123年,   “主机”:“192.168.1.123”,   “密码”:“艾玛”,   “数据库”:“dbname '}   康涅狄格州=psycopg2.connect (* * PG_CONF_123)      

#打开一个操作整个数据库的光标
  

  

连接对象可以创建光标用来执行SQL语句

        坏蛋=conn.cursor ()      

#执行一个创建表的SQL语句
  

  

光标可以使用execute()和executemany()函数

        cur.execute(“创建表测试(id序列主键、num整数数据varchar);”)      

#传递参数给插入语句
  

        cur.execute(“插入测试(num、数据)值(% s % s)”“abc 'def”), (100)      

#执行查询语句并将获取到的数据作为python对象
  

        cur.execute (“SELECT *从测试;“)   cur.fetchone ()   “abc 'def”(100)      

#提交修改
  

  

如果只使用查询语句不用提交方法,插入/更新/删除等操作需要调用commit () .rollback()函数用于会滚到上次调用commit()方法之后。

        conn.commit ()      

#关闭数据库连接
  

        cur.close ()   conn.close ()      

2。防范SQL注入漏洞
  

  

典型的SQL注入漏洞形式:

  

SQL=" select *从用户信息id=? s”% (id)

  

SQL=" select *从用户信息id={}”.format (id)

  

如果有人恶意攻击,在传入参数的代码中加入恶意代码,如:

  

请求。id=123;下降tabel userid,“

  

会造成严重风险,为防止此问题,应该通过第二位变量传入参数的方法:% s(无论变量是什么数据类型,都使用% s)

        SQL="插入作者(姓名)值(% s);“#注意:没有引号   data=https://www.yisu.com/zixun/(O ' reilly,)   cur.execute (SQL数据)#注:没有%运算符      

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

python连接PostgreSQL过程解析