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值的 數據庫很是有用。
普通提交
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()接口