pymysql模塊

07.21自我總結

pymysql模塊

一.建立鏈接庫

conn = pymysql.connect(host="127.0.0.1",#默認是本機
                       port=3306, #默認3306
                       user="root",#必填
                       password='密碼',#必填
                       db="庫名")#必填
#若是沒有庫會報pymysql.err.InternalError: (1049, "Unknown database '庫名'")
全部咱們編輯能夠這樣
try:
    conn = pymysql.connect(host="127.0.0.1",#默認是本機
                           port=3306, #默認3306
                           user="root",#必填
                           password='16745',#必填
                           db="asds",)#必填
except pymysql.err.InternalError:
    print('沒有庫')

二.創建遊標

cursor = conn.cursor(pymysql.cursors.DictCursor) #自定義遊標類型爲字典
cursor = conn.cursor()#默認是元祖

遊標的屬性

cursor.max_stmt_length#1024000
cursor.rownumber#5 #當前結果集中游標所在行的索引(起始行號爲 0)
 
cursor.arraysize#1 #此讀/寫屬性指定用.fetchmany()一次獲取的行數。
# 默認1表示一次獲取一行;也能夠用於執行.executemany()
 
cursor.lastrowid#None #只讀屬性提供上次修改行的rowid
# DB僅在執行單個INSERT 操做時返回rowid 。
# 如未設rowid或DB不支持rowid應將此屬性設置爲None
# 如最後執行語句修改了多行,例如用INSERT和.executemany()時lastrowid語義是未定義
 
cursor.rowcount #5 #最近一次 execute() 建立或影響的行數
# 如無cursor.execute()或接口沒法肯定最後一個操做的rowcount則該屬性爲-1
# 該行數屬性能夠在動態更新其值的方式來編碼。
# 這對於僅在第一次調用.fetch()方法後返回可用rowcount值的 數據庫很是有用。

三.提交sql語句

普通提交python

count = cursor.execute('show tables') #返回值爲受到影響的數據條數

防注入提交mysql

table_name = input('table name :')
count = cursor.execute('select table %s',(name,))

四.查看內容

默認顯示以前那一次顯示的內容,只顯示查看相關語法的內容,爲返回值 
cursor.fetchall() #查看所有
cursor.fetchone() #查看當前遊標位置的一個值
cursor.fetchmay(N) #查看當前遊標位置的n值

五.移動遊標

  • 相對位置sql

    cursor.scroll(1, "relative")數據庫

    cursor.scroll() #默認是相對位置fetch

  • 絕對位置編碼

    cursor.scroll(0, "absolute")code

六.遊標的關閉

若是隻選的sql語言會被表的數據形成修改賊必須索引

count = cursor.execute('修改的sql語句')
conn.commit()
cursor.close()接口

相關文章
相關標籤/搜索