1. 程式人生 > >2-python3操作myql

2-python3操作myql

connect 返回結果 一個 ces 時間 pid 新的 文檔 8.14

  • pymsql api詳解

  在python2中mysql的模塊是mysqldb,python2則開始使用pymysql。

  https://www.python.org/dev/peps/pep-0249/  為python db API的官方文檔。

連接對象conncet

  創建一個連接數據庫的構造函數,返回一個連接對象,需要一些數據庫方面的參數(host,user,passwd,db)。

連接方法

  連接對象會返回一些方法

  .close()

    馬上關閉連接。從這個時間點開始,連接不可用,如果還有對連接的操作,則會出現error異常。如果修改數據後沒有commit後直接close,則修改無效。

  .commit()

    向db提交pending狀態的修改操作。如果db支持auto-commit特性,則一開始就要關閉commit,但可以通過接口來打開它。

  .rollback()

    這個方法會使db回滾到所有pending操作的開始。

  .cursor()

    使用這個連接返回一個新的遊標對象。

遊標對象cursor

  這些對象用來管理數據庫寫入操作和返回輸出。遊標是基於連接的,同一連接的不同遊標,彼此的操作都是即時可見的。

遊標方法

  .execute(operation)

    準備和執行一個數據庫操作(查詢或命令)。

  .fetchone()

    抓取遊標返回結果的第一行。如果沒有返回數據則輸出None。

  .fetchmany(n)

    抓取遊標返回結果的前n行

  .fetchall()

    抓取遊標返回結果的全部。它會影響性能。

異常模塊

  error

  • 簡單測試
#coding:utf-8

import pymysql
#連接數據庫
conn = pymysql.connect("192.168.146.73","root","123.com","config")
cursor = conn.cursor()

#獲取自增值並賦值
cursor.execute("select max(appid) + 1 from SvrProcessConfig")
new_id = cursor.fetchone()

#寫入數據
sql = ‘‘‘INSERT INTO SvrProcessConfig VALUES (%d,290,‘thrdcnt=3;‘,‘XX‘,1) ‘‘‘ % (new_id)
try:
    cursor.execute(sql)
    conn.commit()
except:
    conn.rollback()

#關閉連接
conn.close()

    

2-python3操作myql