python中pymysql模块的使用(一)

    xiaoxiao2022-06-24  232

    python中pymysql模块的使用(一)

    什么是 PyMySQL?使用 python 的一系列操作 :关于默认获取的数据是元祖类型,如果想要或者字典类型的数据:**

    什么是 PyMySQL?

    PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。

    使用 python 的一系列操作 :

    #请求MySQL数据库 import pymysql # 打开数据库 创建连接 #括号里面的参数分别包括: 主机地址 端口 用户 密码 数据库 编码-->存在中文的时候,连接需要添加charset='utf8',否则中文显示乱码。 conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='python', db='myschool', charset='utf8') #主机地址也可以用 "127.0.0.1" 这个表示本机的意思 # 创建游标 cursor = conn.cursor() # 执行SQL,并返回收影响行数 使用 execute() 方法执行 SQL 语句 effect_row = cursor.execute("select * from student") print(effect_row) #输出为15 该数据库共有十五行数据 #获取数据 #获取结果的第一行数据 '' fetchone() '' one = cursor.fetchone() print(one) ''' 首先你要有数据库,其次 数据库里面要有数据 输出为:(10001, '123', '李文才', '女', 1, '13645667890', '地址不详', datetime.datetime(1994, 4, 12, 0, 0), None, None) ''' # 获取剩余结果前n行数据 '' fetchmany() '' for i in cursor.fetchmany(3): print(i) ''' 输出为: (10002, '123', '李斯文', '男', 1, '13645556793', '河南洛阳', datetime.datetime(1993, 7, 23, 0, 0), None, None) (10003, '123', '张萍', '女', 1, '13642345112', '地址不详', datetime.datetime(1995, 6, 10, 0, 0), None, None) (10004, '123', '韩秋洁', '男', 1, '13812344566', '北京市海淀区', datetime.datetime(1995, 7, 15, 0, 0), None, None) ''' # 获取剩余结果所有数据 all = cursor.fetchall() for j in all : print(j) ''' (10005, '123', '张秋丽', '女', 1, '13567893246', '北京市东城区', datetime.datetime(1994, 1, 17, 0, 0), None, None) (10006, '123', '肖梅', '男', 2, '13563456721', '河北省石家庄市', datetime.datetime(1991, 2, 17, 0, 0), None, None) (10007, '123', '秦洋', '女', 2, '13056434411', '上海市卢湾区', datetime.datetime(1992, 4, 18, 0, 0), None, None) (10008, '123', '何睛睛', '男', 2, '13053445221', '广州市天河区', datetime.datetime(1997, 7, 23, 0, 0), None, None) (20000, '000', '王宝宝', '男', 2, '15076552323', '地址不详', datetime.datetime(1996, 6, 5, 0, 0), 'stu20000@163.com', None) (20010, '123', '何小华', '男', 2, '13318877954', '地址不详', datetime.datetime(1995, 9, 10, 0, 0), None, None) (30011, '123456', '陈志强', '女', 3, '13689965430', '地址不详', datetime.datetime(1994, 9, 27, 0, 0), None, None) (30012, '123456', '李露露', '男', 3, '13685678854', '地址不详', datetime.datetime(1992, 9, 27, 0, 0), None, None) (30013, '123456', '黄小平', '女', 3, '13994109788', '北京市', datetime.datetime(1992, 8, 13, 0, 0), None, None) (30014, '123456', '黄小平', '男', 3, '13994109788', '北京市', datetime.datetime(1992, 8, 13, 0, 0), None, None) (30015, '123456', '黄小平2', '女', 3, '13994109799', '北京市', datetime.datetime(1993, 8, 13, 0, 0), None, None) ''' # 注: 或取是依次获取 或许剩下的 # 提交,不然无法保存新建或者修改的数据 conn.commit() # 关闭游标 cursor.close() # 关闭连接 conn.close()

    关于默认获取的数据是元祖类型,如果想要或者字典类型的数据:**

    改变游标: . cursor(cursor=pymysql.cursors.DictCursor)

    #请求MySQL数据库 import pymysql # 打开数据库 创建连接 conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='python', db='myschool', charset='utf8') #游标设置为字典类型 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) cursor.execute("select * from student") # 获取剩余结果所有数据 one = cursor.fetchone() print(one) ''' 输出为: {'studentNo': 10001, 'loginPwd': '123', 'studentName': '李文才', 'sex': '女', 'gradeId': 1, 'phone': '13645667890', 'address': '地址不详', 'bornDate': datetime.datetime(1994, 4, 12, 0, 0), 'email': None, 'identityCard': None} ''' # 提交,不然无法保存新建或者修改的数据 conn.commit() # 关闭游标 cursor.close() # 关闭连接 conn.close()

    最新回复(0)