标签:__ 语句 execute cur python 数据库 ddt result user
1、python连接数据库基础操作及详细讲解
# -*- -*- -*- -*- -*- -*- -*- -*-
# -*- coding: utf-8 -*-
# @Time : 2021/0717
# @File : mysql_connect.py
# -*- -*- -*- -*- -*- -*- -*- -*-
# pymysql 需要安装 :pip install pymysql
import pymysql
# 1、连接数据库,将连接信息保存在 con 里面【变量名自定义,无要求】
con = pymysql.connect(host="127.0.0.1",port=3306,user="root",password="123456",database="nsw_test")
# 2、操作数据库:创建并使用 curson 游标,可以执行SQL语句,获取数据等
cur = con.cursor()
# 准备好需要的 增删改 的SQL语句
sql_2 = "update user_table set username='wanglei' where username='zhangsan'"
sql_3 = "insert into user_table (username,password) values ('zhuzhu','123456')"
sql_4 = "delete from user_table where username='zhangsan'"
# 调用执行SQL语句: .execute()方法
cur.execute(sql_2)
# 数据库增删改的语句需要 commit 一下
cur.execute("commit")
# 准备好需要的查询SQL语句
sql_1 = "select user_id,user_name from user_table"
# 调用执行SQL语句: .execute()方法
cur.execute(sql_1)
# 结果显示 fetchall fetchone fetchmany(数字) 查询指定条数
result_1 = cur.fetchone() # 查询一条数据
result_2 = cur.fetchall() # 查询所有数据
result_3 = cur.fetchmany(2) # 查询指定行数的数据
print("查询的一条数据为:{}".format(result_1))
print("查询的所有数据为:{}".format(result_2))
print("查询的指定两条数据为:{}".format(result_3))
# 3、关闭数据库连接
con.close()
2、python针对数据库增删改查的函数封装
import pymysql
import unittest
class My_db:
# 初始化函数,只要调用了My_db这个类,就会调用init函数
def __init__(self):
try:
self.con = pymysql.connect(host="127.0.0.1",port=3306,user="root",password="123456",database="nsw_test")
except AssertionError as e:
print("初始化连接错误是{}".format(e))
# 异常处理结束后,抛出异常
def select_query(self,query): #查询语句
try:
cur=self.con.cursor()
# 调用执行SQL语句: .execute()方法
cur.execute(query)
result = cur.fetchall()
return result
except AssertionError as e:
print("执行查询语句失败{}".format(e))
# 异常处理结束后,抛出异常
def zsgc(self):
try:
cur = self.con.cursor()
# 调用执行SQL语句: .execute()方法
cur.execute(query)
result = cur.fetchall()
result.execute("commit")
return result
except AssertionError as e:
print("执行查询语句失败{}".format(e))
# 异常处理结束后,抛出异常
if __name__ == '__main__':
unittest.main()
3、数据库与ddt的配合使用
import requests
import unittest
from ddt import ddt, data, unpack
from tools.mydb import My_db
@ddt
class Nsw(unittest.TestCase):
@ddt(*My_db.select_query("select account,password from sys_user_backstage")) #星号代表不定长度
@unpack
def test_login(self, account, password):
url = "http://xsxydoctorapi.ashermed.cn/api/v1/UserInfo/LoginBackstage"
params = {
"account": account,
"password": password
}
respose = requests.get(url, params=params)
print(respose.json())
if __name__ == "__main__":
unittest.main()
标签:__,语句,execute,cur,python,数据库,ddt,result,user 来源: https://blog.csdn.net/weixin_47928937/article/details/118864707
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。