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后执行插入语句“的代码
原文地址:https://www.cnblogs.com/lw-whatever/p/11666369.html
时间: 2024-10-20 22:11:59