亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python連接PostgreSQL過程解析

 更新時間:2020年02月09日 12:27:56   投稿:yaominghui  
這篇文章主要介紹了python連接PostgreSQL過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

這篇文章主要介紹了python連接PostgreSQL過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

1. 常用模塊

# 連接數(shù)據(jù)庫

connect()函數(shù)創(chuàng)建一個新的數(shù)據(jù)庫連接對話并返回一個新的連接實例對象

PG_CONF_123 = {
  'user':'emma',
  'port':123,
  'host':'192.168.1.123',
  'password':'emma',
  'database':'dbname'}
conn = psycopg2.connect(**PG_CONF_123)

# 打開一個操作整個數(shù)據(jù)庫的光標

連接對象可以創(chuàng)建光標用來執(zhí)行SQL語句

cur = conn.cursor()

# 執(zhí)行一個創(chuàng)建表的SQL語句

光標可以使用execute()和executemany()函數(shù)

cur.execute("CREATE TABLE test (id serial PRIMARY KEY, num integer, data varchar);")

# 傳遞參數(shù)給插入語句

cur.execute("INSERT INTO test (num, data) VALUES (%s, %s)",(100, "abc'def"))

# 執(zhí)行查詢語句并將獲取到的數(shù)據(jù)作為python對象

cur.execute("SELECT * FROM test;")
cur.fetchone()
(1, 100, "abc'def")

# 提交修改

如果只使用查詢語句不用commit方法,insert/update/delete等操作需要調用commit()。rollback()函數(shù)用于會滾到上次調用commit()方法之后。

conn.commit()

# 關閉數(shù)據(jù)庫連接

cur.close()
conn.close()

2. 防范SQL注入漏洞

典型的SQL注入漏洞形式:

SQL = "select * from userinfo where id = '%s'" % (id)

SQL = "select * from userinfo where id = '{}'".format(id)

如果有人惡意攻擊,在傳入?yún)?shù)的代碼中加入惡意代碼,如:

request.id = '123; drop tabel userid;'

會造成嚴重風險,為防止此問題,應該通過第二位變量傳入?yún)?shù)的方法:%s(無論變量是什么數(shù)據(jù)類型,都使用%s)

SQL = "INSERT INTO authors (name) VALUES (%s);" # Note: no quotes
data = ("O'Reilly", )
cur.execute(SQL, data) # Note: no % operator

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Python線性擬合實現(xiàn)函數(shù)與用法示例

    Python線性擬合實現(xiàn)函數(shù)與用法示例

    這篇文章主要介紹了Python線性擬合實現(xiàn)函數(shù)與用法,結合實例形式分析了Python使用線性擬合算法與不使用線性擬合算法的相關算法操作技巧,需要的朋友可以參考下
    2018-12-12
  • 淺談一下python中threading模塊

    淺談一下python中threading模塊

    這篇文章主要介紹了一下python中threading模塊,threading提供了一個比thread模塊更高層的API來提供線程的并發(fā)性。這些線程并發(fā)運行并共享內存,需要的朋友可以參考下
    2023-04-04
  • Python 讀取串口數(shù)據(jù),動態(tài)繪圖的示例

    Python 讀取串口數(shù)據(jù),動態(tài)繪圖的示例

    今天小編就為大家分享一篇Python 讀取串口數(shù)據(jù),動態(tài)繪圖的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python通過for循環(huán)理解迭代器和生成器實例詳解

    Python通過for循環(huán)理解迭代器和生成器實例詳解

    這篇文章主要介紹了Python通過for循環(huán)理解迭代器和生成器,結合實例形式詳細分析了迭代器和生成器的概念、原理、使用方法及相關操作技巧,需要的朋友可以參考下
    2019-02-02
  • 對python過濾器和lambda函數(shù)的用法詳解

    對python過濾器和lambda函數(shù)的用法詳解

    今天小編就為大家分享一篇對python過濾器和lambda函數(shù)的用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python numpy矩陣處理運算工具用法匯總

    Python numpy矩陣處理運算工具用法匯總

    這篇文章主要介紹了Python numpy矩陣處理運算工具用法匯總,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • Python制作圣誕樹和圣誕樹詞云

    Python制作圣誕樹和圣誕樹詞云

    本文主要介紹了利用Python制作三種不同形狀的圣誕樹和圣誕樹詞云,文中的示例代碼講解詳細,對我們學習Python有一定的幫助,快跟隨小編一起學習吧
    2021-12-12
  • Python開發(fā)之QT解決無邊框界面拖動卡屏問題(附帶源碼)

    Python開發(fā)之QT解決無邊框界面拖動卡屏問題(附帶源碼)

    朋友在學習QT的過程中,都會遇到各種問題,今天就QT無邊框拖動花屏問題給大家詳細介紹,究竟該如何解決呢,下面通過實例代碼和圖文相結合給大家詳細介紹,需要的朋友參考下吧
    2021-05-05
  • Vue的el-scrollbar實現(xiàn)自定義滾動

    Vue的el-scrollbar實現(xiàn)自定義滾動

    本篇文章給大家分享了Vue的el-scrollbar實現(xiàn)自定義滾動實現(xiàn)的過程和實例代碼,對此有需要的朋友可以參考下。
    2018-05-05
  • 如何通過python檢查文件是否被占用

    如何通過python檢查文件是否被占用

    這篇文章主要介紹了如何通過python檢查文件是否被占用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12

最新評論