封裝乙個資料庫模組有三個功能:查詢,插入,關閉
1.檢視
2.提交
3.關閉
import pymysql
cur = none
conn = none
def getall(sql): #用來執行查詢
# 連線資料庫
conn = pymysql.connect(host='localhost', user='root', password='123', db='day300', charset='utf8')
cur = conn.cursor() #獲取cursor物件
# 通過cursor的物件去執行sql語句
cur.execute(sql)
return cur.fetchall()
def excedml(sql): #用來執行插入
conn = pymysql.connect(host='localhost', user='root', password='123', db='day300', charset='utf8')
cur = conn.cursor()
# 通過cursor的物件去執行sql語句
cur.execute(sql)
# 提交事物
conn.commit()
def close(): #用來關閉連線
if cur:
cur.close()
if conn:
conn.close()
# 使用工具模組:
## from day3 import mysqlhelper
## name = input("請輸入名字:")
# id = input("請輸入id:")
# sql1 = 'insert into t_user values(%d,"%s")'%(int(id),name)
# sql2 = 'select * from t_user'
# mysqlhelper.excedml(sql1)
# print(mysqlhelper.getall(sql2))
# mysqlhelper.close()
Buuctf 我有乙個資料庫
從結果來看,這道題並不難,但是這個漏洞查詢思想和poc查詢思路很好,記下來。進去後,什麼也沒有,源 也沒有,一邊開目錄爆破工具,一邊手動試試常見的備份,備份啥的沒有探測到。掃瞄得到如下線索。首先看看重要的robots.txt 跟進去 得到一些版本資訊,頁面查詢flag,並沒有 題目既然說資料庫,也順...
三個資料庫的觸發器
當使用者a,b存放資料到tablec的時候,會將使用者a插入的資料的主鍵值和使用者名稱一起存放到tabled去 即tablec id pk name,pass a使用者插入 23,a1 a2 b使用者插入 20,b1 b2 觸發器的作用是將 23,a 插入到表tabled去 mysql delimi...
資料庫的三個正規化
強調列的原子性,即列不能夠再分成其他幾列。考慮有這樣乙個表 聯絡人 姓名 性別 如果在實際場景中,乙個聯絡人有家庭 和公司 那麼這種表結構就不符合1nf,應把 列拆分成家庭 和公司 首先是1nf,另外還有兩部分內容。1.乙個表必須有乙個主鍵。2.不在主鍵裡的列必須依賴主鍵的所有內容,而不能只依賴主鍵...