pymysql的简单了解
pymsql是python中操作MySQL的模块。
安装:在dos命令中输入:pip3 install pymysql;
pip会自行下载并安装pymysql。
执行pymysql:
#usr/bin/python
#-*-coding:utf-8-*-
#请求mysql数据库的数据
import pymysql
#执行sql
#创建连接
conn=pymysql.connect(host='127.0.0.1',port=3306,user='root',
passwd='gyzswan',db='myschool',charset='utf8')
#创建游标
cursor=conn.cursor()
#执行sql,并返回收影响行数
a=cursor.execute('SELECT studentName,phone FROM student')
print(a)
#提交,不然无法保存新建或者修改的数据
conn.commit()
#关闭游标
cursor.close()
#关闭连接
conn.close()
host:用户地址 port:端口 user:mysql账号(默认root) password:账号密码
db:数据库名 charset:编码集
如上这段代码我们连接了MySQL的myschool数据库,接着我们需要创建一个游标用来标识数据,接着执行SQL语句,从学生表中查询学生姓名与电话号,并返回了影响行数,为14行。最后我们需要提交连接,关闭游标,关闭连接。
查询数据:
#usr/bin/python
#-*-coding:utf-8-*-
import pymysql
conn=pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd='gyzswan',db='myschool',charset='utf8')
cursor=conn.cursor()
cursor.execute('SELECT studentName,phone FROM student')
row_1=cursor.fetchone() #获取第一条
print(row_1)
row_2=cursor.fetchmany(4) #获取剩余结果前4条
print(row_2)
row_3=cursor.fetchall() #获取剩余的所有结果
print(row_3)
conn.commit()
cursor.close()
conn.close()
fetchone() -->获取一条数据
fetchmany(x) --> 获取剩余数据的前x条
fetchall() --> 获取剩余的所有结果
移动游标
#注:在fetch数据时按照顺序进行,可以使用cursor.scroll(num,mode)来移动游标位置,如:
cursor.scroll(1,mode='relative') # 相对当前位置移动
cursor.scroll(2,mode='absolute') # 相对绝对位置移动
fetch数据类型
获取的fetch数据类型默认是元组类型,如果想更改为字典数据类型:
#usr/bin/python
#-*-coding:utf-8-*-
import pymysql
conn=pymysql.connect(host='127.0.0.1',port=3306,user='root',
passwd='gyzswan',db='myschool',charset='utf8')
#创建游标
cursor=conn.cursor()
#游标设置为字典类型
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
#执行sql,并返回收影响行数
cursor.execute('SELECT studentName,phone FROM student')
row_1=cursor.fetchone() #获取第一条
print(row_1)
conn.commit()
cursor.close()
conn.close()
只需要在执行SQL语句之前,将游标设为字典类型:cursor=pymysql.cursors.DictCursor