【数据驱动】python之mysql的操做

一、准备工做

  在本篇中,咱们使用python版本为python3.7。在python3中,链接mysql数据库咱们须要使用pymysql这个第三方库。咱们能够直接使用pip命令来安装,安装的命令为:python

pip install PyMySQL

  若是在你的环境中同时存在python2和python3两个版本,那么咱们须要安装python3版本的时候就能够使用mysql

pip3 install PyMySQL

 

二、链接数据库

  在作好准备工做后,咱们就能够开始使用pymysql这个第三方库进行链接mysql了sql

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后执行插入语句“的代码数据库

相关文章
相关标签/搜索