1. 程式人生 > >多表查詢,笛卡爾積 ,可視化工具,pymysql查詢與增刪改 ,sql 註水

多表查詢,笛卡爾積 ,可視化工具,pymysql查詢與增刪改 ,sql 註水

增刪改 log .com cursor 執行 gin lar 模塊 內容













sql 註水

import pymysql
conn=pymysql.connect(host=‘localhost‘,port=3306,
db=‘db1‘,user=‘user‘,password=‘root‘)
cur=conn.cursor(cursors.DictCursor)
name=input(‘please input name:‘)
password=input(‘please input password‘)
sql=‘select *from user where user="%s" and password="%s"‘%(name,password)
res=cur.execute(sql)

if res:
print(‘login success’)
這樣執行的話引用註釋可用越過登錄驗證
1.知道用戶名: # -- zzf" -- h
677
2.不知道:yy" or 2=2 --e
567

防止措施
sql=‘select *from user where user=%s and password=%s‘
res=cur.execute(sql,(name,password))


增加字段內容
import pymysql倒入模塊
coon=pymysql.connect(host=‘localhost‘,port=3306,db=‘db1‘,user=‘root‘,password=‘root‘)建立連接
cur=coon.cursor(pymysql.cursors.DictCursor)啟用遊標
sq=‘insert into em (id,name)values (%s,%s)‘
res=cur.execute(sq,(8,"hh")) 書寫和執行sql 語句
coon.commit() 將內容寫入內存
cur.close()
coon.close()


刪除內容
import pymysql倒入模塊
coon=pymysql.connect(host=‘localhost‘,port=3306,db=‘db1‘,user=‘root‘,password=‘root‘)建立連接
cur=coon.cursor(pymysql.cursors.DictCursor)啟用遊標
sq=‘delete  from em where id=%s‘
cur.execute(sq,2)
coon.commit()

修改字段內容
import pymysql倒入模塊
coon=pymysql.connect(host=‘localhost‘,port=3306,db=‘db1‘,user=‘root‘,password=‘root‘)建立連接
cur=coon.cursor(pymysql.cursors.DictCursor)啟用遊標
sql=‘ update em set name=%s where id=%s’
cur.execute(sql,("hh",5)
coon.commit()


查找內容(***)
import pymysql
conn=pymysql.connect(host=‘localhost‘,port=3306,db=‘db1‘,user=‘root‘,
password=‘root‘)
cur=conn.cursor(pymysql.cursors.DictCursor)
sql=‘select * from em ‘
res=cur.execute(sql)
cur.scroll(4,mode=‘absolute‘)
tag=cur.fetchall()
for i in tag:
print(i[‘name],i[‘salary‘])
cursor.scroll(1, mode=‘relative‘) # 指針相對於上一次位置往後偏移1條記錄
# cursor.scroll(res - 1, mode=‘absolute‘) # 指針絕對, 遊標永遠從頭開始偏移

多表查詢,笛卡爾積 ,可視化工具,pymysql查詢與增刪改 ,sql 註水