在本篇中,咱们使用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')
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()
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后执行插入语句“的代码数据库