数据驱动python之mysql的操作

Posted lw-whatever

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据驱动python之mysql的操作相关的知识,希望对你有一定的参考价值。

1、准备工作

  在本篇中,我们使用python版本为python3.7。在python3中,连接mysql数据库我们需要使用pymysql这个第三方库。我们可以直接使用pip命令来安装,安装的命令为:

pip install PyMySQL

  如果在你的环境中同时存在python2和python3两个版本,那么我们需要安装python3版本的时候就可以使用

pip3 install PyMySQL

 

2、连接数据库

  在做好准备工作后,我们就可以开始使用pymysql这个第三方库进行连接mysql了

1 import pymysql
2 
3 ‘‘‘连接数据库,我们直接调用connect这个函数,需要在该函数中传入数据库的连接信息,如
4    数据库的IP地址、账号、密码和数据库的名称‘‘‘
5 conn = pymysql.connect(host=127.0.0.1, user=root, passwd=123456, db=test)

2.1 python连接mysql后执行插入语句

 1 import pymysql
 2 
 3 ‘‘‘连接数据库,我们直接调用connect这个函数,需要在该函数中传入数据库的连接信息,如
 4    数据库的IP地址、账号、密码和数据库的名称‘‘‘
 5 def connMysql():
 6     try:
 7         conn = pymysql.connect(host=127.0.0.1, user=root, passwd=123456, db=test)
 8         return conn
 9     except:
10         return 连接失败
11 
12 ‘‘‘操作mysql往数据库中插入一条数据‘‘‘
13 def insertOne():
14     ‘‘‘在成功连接mysql之后,我们需要建立一个游标,只有建立成功了游标,才可以对mysql进行操作‘‘‘
15     conn = connMysql()
16     cur = conn.cursor()
17     sql = INSERT INTO tab_user VALUES (%s, %s)
18     params = (1, admin)
19     ‘‘‘使用excute函数将需要查询的sql和变量传入‘‘‘
20     cur.execute(sql, params)
21     conn.commit()
22     ‘‘‘在操作完数据库之后,我们需要关闭游标和连接对象,否则连接池会被占满‘‘‘
23     cur.close()
24     conn.close()
25 
26 ‘‘‘操作mysql插入多条数据‘‘‘
27 def insertMany():
28     conn = connMysql()
29     cur = conn.cursor()
30     sql = INSERT INTO tab_user VALUES (%s, %s)
31     params = [(2, 张三), (3, 李四)]
32     ‘‘‘使用executemany函数将需要查询的sql和变量传入‘‘‘
33     cur.executemany(sql, params)
34     conn.commit()
35     ‘‘‘在操作完数据库之后,我们需要关闭游标和连接对象,否则连接池会被占满‘‘‘
36     cur.close()
37     conn.close()

2.2 python连接mysql后执行查询语句

 1 import pymysql
 2 
 3 ‘‘‘连接数据库,我们直接调用connect这个函数,需要在该函数中传入数据库的连接信息,如
 4    数据库的IP地址、账号、密码和数据库的名称‘‘‘
 5 def connMysql():
 6    try:
 7       #conn = pymysql.connect(host=‘127.0.0.1‘, user=‘root‘, passwd=‘123456‘, db=‘test‘)
 8       conn = pymysql.connect(host=10.66.132.42, user=cdb_outerroot, passwd=@09ui%sbc09, db=gic_marketing)
 9       return conn
10    except:
11       return 连接失败
12       
13 ‘‘‘查询一条数据‘‘‘
14 def get_one():
15     conn = connMysql()
16     cur = conn.cursor()
17     sql = "SELECT * FROM tab_user WHERE id = %s"
18     params = (2,)
19     cur.execute(sql, params)
20     ‘‘‘查询只有一条数据的时候使用fetchone()‘‘‘
21     result = cur.fetchone()
22     cur.close()
23     conn.close()
24     return result
25 
26 ‘‘‘查询所有数据‘‘‘
27 def get_All():
28     conn = connMysql()
29     cur = conn.cursor()
30     sql = "SELECT * FROM tab_gic_coup_card"
31     cur.execute(sql)
32     ‘‘‘需要查询所有数据的时候应该使用fetchall()‘‘‘
33     result = cur.fetchall()
34     #db = [item for item in result]
35     cur.close()
36     conn.close()
37     return result
38 
39 ‘‘‘查询部分数据‘‘‘
40 def get_Many():
41     conn = connMysql()
42     cur = conn.cursor()
43     sql = "SELECT * FROM tab_gic_coup_card WHERE card_name like %s"
44     params = (%测试)
45     cur.execute(sql)
46     ‘‘‘fetchmany()需要传入变量来确定查询几条数据,如果不传入则默认只查询一条‘‘‘
47     result = cur.fetchmany(2)
48     ‘‘‘列表推倒式,在这里就不做说明,也可以不使用列表推倒式,直接return result‘‘‘
49     db = [item for item in result]
50     cur.close()
51     conn.close()
52     return db

修改和删除就不在此说明,可参考“2.1 python连接mysql后执行插入语句“的代码

以上是关于数据驱动python之mysql的操作的主要内容,如果未能解决你的问题,请参考以下文章

Python3连接MySQL数据库之mysql-client

用python操作mysql数据库(之代码归类)

python之数据驱动ddt操作(方法三)

Python使用DB-API操作MySQL数据库

python之数据驱动Txt操作

MySQL使用之JDBC驱动