欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python連接PostgreSQL數(shù)據(jù)庫的過程詳解

 更新時間:2019年09月18日 14:17:17   作者:郭雪原  
這篇文章主要介紹了python連接PostgreSQL數(shù)據(jù)庫的過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

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等操作需要調(diào)用commit()。rollback()函數(shù)用于會滾到上次調(diào)用commit()方法之后。

conn.commit()

# 關(guān)閉數(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;'

會造成嚴重風(fēng)險,為防止此問題,應(yīng)該通過第二位變量傳入?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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Pandas操作CSV文件的讀寫實現(xiàn)方法

    Pandas操作CSV文件的讀寫實現(xiàn)方法

    這篇文章主要介紹了Pandas操作CSV文件的讀寫實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • pandas?groupby?用法實例詳解

    pandas?groupby?用法實例詳解

    在日常數(shù)據(jù)分析過程中,經(jīng)常有分組的需求。具體來說,就是根據(jù)一個或者多個字段,將數(shù)據(jù)劃分為不同的組,然后進行進一步分析,比如求分組的數(shù)量,分組內(nèi)的最大值最小值平均值等,下面我們就來看看pandas中的groupby怎么使用,需要的朋友可以參考下
    2022-11-11
  • Numpy中矩陣matrix讀取一列的方法及數(shù)組和矩陣的相互轉(zhuǎn)換實例

    Numpy中矩陣matrix讀取一列的方法及數(shù)組和矩陣的相互轉(zhuǎn)換實例

    今天小編就為大家分享一篇Numpy中矩陣matrix讀取一列的方法及數(shù)組和矩陣的相互轉(zhuǎn)換實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Python實現(xiàn)合并同一個文件夾下所有PDF文件的方法示例

    Python實現(xiàn)合并同一個文件夾下所有PDF文件的方法示例

    這篇文章主要介紹了Python實現(xiàn)合并同一個文件夾下所有PDF文件的方法,涉及Python針對pdf文件的讀取、判斷、解密、寫入合并等相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • Python Tornado實現(xiàn)WEB服務(wù)器Socket服務(wù)器共存并實現(xiàn)交互的方法

    Python Tornado實現(xiàn)WEB服務(wù)器Socket服務(wù)器共存并實現(xiàn)交互的方法

    這篇文章主要介紹了Python Tornado實現(xiàn)WEB服務(wù)器Socket服務(wù)器共存并實現(xiàn)交互的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Django DRF APIView源碼運行流程詳解

    Django DRF APIView源碼運行流程詳解

    這篇文章主要介紹了Django DRF APIView源碼運行流程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • Python中Pyspider爬蟲框架的基本使用詳解

    Python中Pyspider爬蟲框架的基本使用詳解

    這篇文章主要介紹了Python中Pyspider爬蟲框架的基本使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • python中redis查看剩余過期時間及用正則通配符批量刪除key的方法

    python中redis查看剩余過期時間及用正則通配符批量刪除key的方法

    這篇文章主要介紹了python中redis查看剩余過期時間及用正則通配符批量刪除key的方法,需要的朋友可以參考下
    2018-07-07
  • python中telnetlib模塊的使用方式

    python中telnetlib模塊的使用方式

    這篇文章主要介紹了python中telnetlib模塊的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Python真題案例之蛇形數(shù)組詳解

    Python真題案例之蛇形數(shù)組詳解

    這篇文章主要介紹了python實操案例練習(xí),本文給大家分享的案例中主要講解了蛇形數(shù)組,需要的小伙伴可以參考一下
    2022-03-03

最新評論