python调用mysql的方法,Python+mysql
1.数据库在自动化测试中存储测试数据的应用
有时需要在数据库中存储大量数据,这些数据只能在测试时使用,在测试时从数据库中读出。这一点很重要!
保存测试结果
2.python 1中数据库的必备条件。安装:pyMysqlpython2中使用了mysqldb,python3中不再支持,取而代之的是pyMysql。
2.安装步骤1)安装PyMysql模块:pip安装pyMysql
2)python连接mysql数据库时,需要下载驱动:https://dev.mysql.com/downloads/connector/python/mysql MySQL官网提供的驱动版本目前只支持python3.4,Python版本必须与驱动支持的版本相匹配,安装才能成功。
3)安装mysql的图形界面Navicat,连接数据库后,方便查看/编辑数据库数据。
(可选)安装mysql服务器:https://dev.mysql.com/downloads/mysql/.
3.数据库的常规操作就是增删查,所以我们要学习的就是用python读取数据库中的数据,进行增删查。
三。python—mysql操作步骤操作数据库:
1.连接到数据库并创建游标。
2.随时准备添加、删除、更改和检查sql语句。
3.执行sql语句
4.读取执行结果——受执行影响的行。
5.关闭光标并关闭连接(释放连接数)
数据库连接信息如下:
IP地址、端口号、数据库名称、登录用户名、密码
pymysql连接数据库的方法:
conn=pymysql。连接(主机、端口、数据库、用户、密码)
cursor class=pymysql . cursors . dict cursor指定返回的数据采用字典形式。
创建光标:
Cursor=conn.cursor()每个操作在执行之前都需要获得一个游标。
4.python的查询数据1。查询数据语法sql语句:从表名中选择字段where条件语句
2.要显示数据,需要调用下面的函数fetchall():返回的数据格式是list的形式。
Fetchone():返回数据的格式为tuple(可以用cursor class=pymysql . cursors . dict cursor改成字典形式)
3.条件语句的用法重点在代码,掌握用法。
动词(verb的缩写)在python的executeexecute中,sql语句的各种方式:
Execute(sql语句,参数[可选]):
1.数据直接写在sql语句中。
2.使用format方法。
在sql语句中:改为列表和元组%s
字典:%(键名)s
参数:是一个实数值。
示例:
insert_sql=insert into test1(id,name)值(%s,%s)
数据=[14,肖剑]
#字典
data1={id: 14,姓名:肖剑 }
insert_sql=insert into test1(id,name)值(%(id)s,%(name)s)
cursor.execute(insert_sql,data)
不及物动词提交和回滚提交操作:当对数据库进行任何更改时,提交函数用于提交操作。
包括修改、添加、修改和删除数据。
提交:
conn.commit()
回滚操作:在修改数据库的过程中,如果有任何异常导致修改中断,我们应该使用回滚操作将数据库恢复到修改前的状态。
回滚修改:
conn.rollback()
七。示例示例1:添加数据#并介绍相关库
导入pymysqlmysql_host=localhost
mysql_port=3306
mysql_db=小寨
mysql_user=root
Mysql_passwd=123456#连接操作:编码格式的说明,默认返回数据类型。
conn=pymysql。Connect(host=mysql_host,user=mysql_user,password=mysql_passwd
db=mysql_db,port=mysql_port,charset=utf8mb4 ,cursor
# Get cursor cur=conn . cursor()
#sql语句3354添加数据
sql_insert=insert into python6(姓名,性别)值(小花,女性)
#执行sql语句
尝试:
当前执行(sql_insert)
conn.commit()
除了:
conn.rollback()
#关闭连接,关闭光标
当前关闭()
Conn.close()运行结果:
示例2:将数据#查询到相关库中
导入pymysql
mysql_host=localhost
mysql_port=3306
mysql_db=小寨
mysql_user=root
mysql_passwd=123456
# Join操作:指定编码格式,指定默认返回数据类型。
conn=pymysql。Connect(host=mysql_host,user=mysql_user,password=mysql_passwd
db=mysql_db,port=mysql_port,charset=utf8mb4 ,
光标
#获取光标
cur=conn.cursor()
#查询语句
sql_select=select * from python6
#执行
cur.execute(sql_select)
#获取查询结果——会获取一条数据
data_a=cur.fetchone()
打印(数据_a)
打印(=========================)
#获取查询结果——获取所有条数据(游标已经到了第二条,从第二条开始读)
data_all=cur.fetchall()
打印(数据_全部)
#关闭连接、关闭游标
当前关闭()
conn.close()运行结果
{id: 1,性别:男性,姓名:小寨 }
=============================
[{id: 2,性别:男,姓名:小丽},{id: 3,性别:女,姓名:小花 }]实例3:格式化方式插入数据列表形式
#引入相关的库
导入已安装
mysql_host=localhost
mysql_port=3306
mysql_db=小寨
mysql_user=root
mysql_passwd=123456
#连接操作:编码格式的指定,默认返回数据类型的指定
conn=pymysql .Connect(主机=mysql_host,用户=mysql_user,密码=mysql_passwd
db=mysql_db,port=mysql_port,charset=utf8mb4 ,
光标
#获取游标
cur=conn.cursor()
#格式化方式插入数据
data_list=[小昭,女性]
SQL _ insert= insert into python 6(姓名,性别)值(%s,%s)
#执行结构化查询语言语句
尝试:
cur.execute(sql_insert,data_list)
conn.commit()
除了:
conn.rollback()
#关闭连接、关闭游标
当前关闭()
conn.close()运行结果
字典形式
#引入相关的库
导入已安装
mysql_host=localhost
mysql_port=3306
mysql_db=小寨
mysql_user=root
mysql_passwd=123456
#连接操作:编码格式的指定,默认返回数据类型的指定
conn=pymysql .Connect(主机=mysql_host,用户=mysql_user,密码=mysql_passwd
db=mysql_db,port=mysql_port,charset=utf8mb4 ,
光标
#获取游标
cur=conn.cursor()
#格式化方式插入数据
data_dict={name :小六,性别:女 }
SQL _ insert= insert into python 6(name,sex)values(%)(name)s,%(sex)s)
#执行结构化查询语言语句
尝试:
cur.execute(sql_insert,data_dict)
conn.commit()
除了:
conn.rollback()
#关闭连接、关闭游标
当前关闭()
conn.close()运行结果
实例4:封装成类导入已安装
Mysql_Operate类:
def __init__(自身,主机,数据库,用户,密码,端口=3306):
#连接数据库
尝试:
self.conn=pymysql .连接(主机=主机,用户=用户,密码=passwd
db=db,port=port,charset=utf8mb4 ,
光标#获取游标
self.cur=self.conn.cursor()
#没有异常,连接标志为0
self.connect_flag=0
例外情况为e:
打印(五)
self.connect_flag=1
#查找
def select_all_datas(self,select_sql):
#查询数据——执行函数
self.cur.execute(select_sql)
#获取所有的数据并返回
data_all=self.cur.fetchall()
返回数据_全部
#更新数据
def update_datas(self,update_sql):
尝试:
self.cur.execute(update_sql)
self.conn.commit()
返回真实的
除了:
self.conn.rollback()
返回错误的
#关闭数据库连接
定义关闭_数据库(自身):
self.cur.close()
self.conn.close()
mysql_host=localhost
mysql_port=3306
mysql_db=小寨
mysql_user=root
mysql_passwd=123456
ms=Mysql_Operate(mysql_host,mysql_user,mysql_passwd,mysql_db)
如果ms.connect_flag==0:
及格
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。