mysql資料驅動測試 二 MySQL資料驅動

2021-10-17 19:38:28 字數 3916 閱讀 7004

1.資料庫查詢

#!/user/bin/env python

# coding:utf-8

# author:shenqiang

import pymysql

def connectmysql():

try:

'''鏈結資料庫'''

connect = pymysql.connect(

host='127.0.0.1',

user='root',

password='shen6409175',

db='students'

except exception as e:

return e.args

else:

'''建立游標'''

cur = connect.cursor()

'''sql語句分離'''

# sql = 'select * from student where id = %s'

# params = (2,)

# '''查重'''

# cur.execute(sql,params)

# '''單條資料的查詢'''

# data = cur.fetchone()

# return datas

sql = 'select * from student'

'''查重'''

cur.execute(sql)

'''多條資料查詢'''

datas = cur.fetchall()

'''方法一,遍歷'''

# for data in datas:

# print(data)

'''方法二,列表推倒式'''

db = [data for data in datas]

return db

finally:

# 關閉游標和鏈結

cur.close()

connect.close()

print(connectmysql())

2.資料庫插入資料

#!/user/bin/env python

#coding:utf-8

#author:shenqiang

import pymysql

def connectmysql():

try:

'''鏈結資料庫'''

connect = pymysql.connect(

host='127.0.0.1',

user='root',

password='shen6409175',

db='students'

except exception as e:

return e.args

else:

'''建立游標'''

cur = connect.cursor()

'''匯入資料'''

# 單條語句的插入

# sql = 'insert into student values(%s,%s,%s,%s);'

# params = (6,'沈~','24','南京')

'''批量插入資料'''

sql = 'insert into student values(%s,%s,%s,%s);'

params = [

(7, '沈~', '24', '南京'),

(8, '沈~', '24', '南京')

cur.executemany(sql,params)

'''insert後必須要commit()'''

connect.commit()

finally:

# 關閉游標和鏈結

cur.close()

connect.close()

connectmysql()

3.資料庫刪除資料

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# @author : shenqiang

import pymysql

def connectmysqldelect():

try:

'''連線資料庫'''

connectmysqldelect = pymysql.connect(

host = '127.0.0.1',

user = 'root',

password = 'shen6409175',

db = 'students',

except exception as e:

print(e.args)

else:

'''建立游標'''

cur = connectmysqldelect.cursor()

'''執行sql'''

mysql = 'delete from student order by id desc limit 1'

cur.execute(mysql)

'''提交事務'''

connectmysqldelect.commit()

print('success')

finally:

'''關閉游標和資料庫'''

cur.close()

connectmysqldelect.close()

connectmysqldelect()

4.乙個完整的mysql資料驅動方式

#!/user/bin/env python

#coding:utf-8

#author:shenqiang

import pymysql

class mysqltry:

'''鏈結資料庫'''

def connectmysql(self):

'''嘗試鏈結資料庫'''

try:

connect =pymysql.connect(

host = '127.0.0.1',

user='root',

password='shen6409175',

db='students'

except exception as e:

print(e.args)

return connect

def selectmysql(self,sql,params):

'''建立游標'''

cur = self.connectmysql().cursor()

'''查重'''

cur.execute(sql,params)

'''查詢'''

result = cur.fetchall()

'''刪除游標'''

cur.close()

return result

def checkvalid(username,age):

opera = mysqltry()

sql = "select * from student where name = %s and age = %s"

params=(username,age)

return opera.selectmysql(sql=sql,params=params)

def checkinfo():

username = input('請輸入使用者名稱 \n')

age = input('請輸入使用者年齡 \n')

result = checkvalid(username,age)

if result:

'''關閉資料庫'''

mysqltry().connectmysql().close()

print('該使用者在資料庫中,測試通過!')

else:

print('該使用者不在資料庫中,存在bug!')

if __name__ == '__main__':

checkinfo()

mysql測試許可權 Django測試MySQL許可權

我正在學習django教程,我遇到了一些麻煩,因為我使用mysql作為資料庫。在 當我跑的時候python manage.py test polls 我明白了 這是我的設定.py在databases default engine django.db.backends.mysql add postgr...

針對mysql的sql注入漏洞測試 MySql版

我們先來判斷下這個表中有幾個字段使用 order by 如下圖 如果說頁面不正常了,肯定就超過這個數了,比如我們使用6來。6報錯那就表述這個字段只有5個了。id 1 order by 6 id 1 1 union select 1,2,3,4,5 下面獲取每個字段我們換成user version資料...

資料驅動測試技術

資料驅動測試的概念 資料驅動測試是從資料檔案 excel 文字檔案 xml 檔案 或者資料庫 中讀取測試資料,然後通過變數傳入指令碼中,既可以當測試資料的輸入 也可以當輸出資料的驗證。測試資料在檔案中,測試指令碼負責邏輯業務過程 測試狀態以及資料檔案讀取 資料驅動的測試適用於對相同流程進行大資料量測...