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 檔案 或者資料庫 中讀取測試資料,然後通過變數傳入指令碼中,既可以當測試資料的輸入 也可以當輸出資料的驗證。測試資料在檔案中,測試指令碼負責邏輯業務過程 測試狀態以及資料檔案讀取 資料驅動的測試適用於對相同流程進行大資料量測...