Python MySQL API
一、查数据 select
#python连接mysql 查询select
#1导入模块
import pymysql #3.5版本
# import MySQLdb #2.7版本
#2建立连接
conn = pymysql.connect(host='192.168.19.130',user='root',passwd='123456',db='p12')#, cursorclass=pymysql.cursors.DictCursor) #3.5版本
# conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='1234',db='mydb') #2.7版本
#3新建游标实例
cur = conn.cursor()
#4返回符合提交的记录条数
reCount = cur.execute("SELECT * from students")
# print(reCount) #2 这里的2代表一共查出了2条记录
# reCount = cur.execute('insert into UserInfo(Name,Address) values(%(id)s, %(name)s)',{'id':12345,'name':'wupeiqi'})
# conn.commit()
# print(cur.fetchone()) #(1, 'alex', 'man', 18, '151515151') 取出一条放在元组
# print(cur.fetchone()) #(2, 'jack', 'man', 11, '151515251') 在取出一条放在元组
# print(cur.fetchall())
#((1, 'alex', 'man', 18, '151515151'), (2, 'jack', 'man', 11, '151515251'))
#把表中的所有记录全部查询出来,以元组的形式存在大的元组中
# print(cur.fetchmany(2)) #取出前2条记录
#5取出符合条件的字段值 select
for i in cur.fetchall():
# # print(i) #遍历元组,将大元组的子元组打印出来
print(i[0],i[1],i[2],i[3],i[4]) #遍历元组,将子元组的每个字段都打印出来(这里没有返回字段名字)
# print(i[0],i[1]) #遍历元组,将子元组的前2个字段都打印出来(这里没有返回字段名字)
# 1 alex man 18 151515151
# 2 jack man 11 151515251
# for field_desc in cur.description:
# for field_desc in cur:
# print(field_desc)
#6关闭游标
cur.close()
#7 关闭连接
conn.close()
# print(reCount)
显示字段名
#python连接mysql 查询select
#1导入模块
import pymysql #3.5版本
# import MySQLdb #2.7版本
#2建立连接
conn = pymysql.connect(host='192.168.19.130',user='root',passwd='123456',db='p12', cursorclass=pymysql.cursors.DictCursor) #3.5版本
# cursorclass=pymysql.cursors.DictCursor 用于显示字段名
# conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='1234',db='mydb') #2.7版本
#3新建游标实例
cur = conn.cursor()
#4得到符合条件的条数
reCount = cur.execute("SELECT * from students")
# print(reCount) #2 这里的2代表一共查出了2条记录
# reCount = cur.execute('insert into UserInfo(Name,Address) values(%(id)s, %(name)s)',{'id':12345,'name':'wupeiqi'})
# conn.commit()
# print(cur.fetchone()) #(1, 'alex', 'man', 18, '151515151') 取出一条放在元组
# print(cur.fetchone()) #(2, 'jack', 'man', 11, '151515251') 在取出一条放在元组
# print(cur.fetchall())
#((1, 'alex', 'man', 18, '151515151'), (2, 'jack', 'man', 11, '151515251'))
#把表中的所有记录全部查询出来,以元组的形式存在大的元组中
#5取值 select
for i in cur.fetchall():
# print(i) #遍历元组,将大元组的子元组打印出来
# print(i[0],i[1],i[2],i[3],i[4]) #遍历元组,将子元组的每个字段都打印出来(这里返回字段名字)
print(i["name"],i["sex"]) #遍历元组,将子元组的前2个字段都打印出来(这里根据字段名字查询)
# {'age': 18, 'name': 'alex', 'tel': '151515151', 'id': 1, 'sex': 'man'}
# {'age': 11, 'name': 'jack', 'tel': '151515251', 'id': 2, 'sex': 'man'}
# for field_desc in cur.description:
# # for field_desc in cur:
# print(field_desc[0]) #显示所有字段名
#6关闭游标实例
cur.close()
#7关闭连接
conn.close()
# print(reCount)
二、插入数据
#python连接mysql 增加一条记录insert
#1导入模块
import pymysql #3.5版本
# import MySQLdb #2.7版本
#2建立连接
conn = pymysql.connect(host='192.168.19.130',user='root',passwd='123456',db='p12')#, cursorclass=pymysql.cursors.DictCursor) #3.5版本
# conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='1234',db='mydb') #2.7版本
#3新建游标实例
cur = conn.cursor()
#4返回新插入的记录条数
reCount = cur.execute('insert into students(name,sex,age,tel) values(%s,%s,%s,%s)',("tom",