博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Python】学习笔记5-模块pymysql操作mysql数据库
阅读量:5010 次
发布时间:2019-06-12

本文共 2998 字,大约阅读时间需要 9 分钟。

import pymysql #其他数据库,比如oracle 模块是pyoracle #1、链接数据库mysq ip 端口号 密码 账户 数据库 #2、建立游标 #3、执行sql #4、获取结果 #5、关闭连接,关闭游标 # 1、show table 例子
1 # conn = pymysql.connect(host = 'x.x.x.x', 2 #                 user = 'jxz',passwd = '123456', 3 #                 port = 3306, db = 'jxz', charset='utf8')#charset 必须是utf8不能是utf-8 4 # cur = conn.cursor() #建立游标,游标你就认为是仓库管理员 5 # # cur.execute('show tables;') #执行sql语句 6 # cur.execute('select * from bt_stu limit 5;') #执行sql语句 7 # # print(cur.execute('show tables;')) #执行sql语句 返回 10 8 # print(cur.fetchall()) #获取sql语句执行的结果 9 # res = cur.fetchall() #获取sql语句执行的结果 (('bt_stu',), ('hkk',), ('hkk2',), ('jxz_stu',), ('products_nyy',), ('stu',), ('user',), ('user_nyy',), ('user_passwd',), ('zmx',))10 # print(res[0][3])11 # cur.close() #关闭游标12 # conn.close() #关闭连接
# # 2、查询例子
# conn = pymysql.connect(host = 'X.X.X.X',#                 user = 'jxz',passwd = '123456',#                 port = 3306, db = 'jxz', charset='utf8')#charset 必须是utf8不能是utf-8# cur = conn.cursor() #建立游标,游标你就认为是仓库管理员# cur.execute('select * from bt_stu limit 2;') #执行sql语句# # res = cur.fetchall() #获取sql语句执行的结果,把结果放到元组(数组)里面,根据数组取结果,如 res[0][3]#     #((1, '贾梦缘', 1, '18612341231', '靠山屯', 1), (2, '处长', 0, '19212345678', '靠山屯', 1), (4, '处长', 0, '19312345678', '靠山屯', 1), (5, '处长', 0, '19312345671', '靠山屯', 1), (6, 'zdq', 0, '12312345678', '靠山屯', 1))# # res = cur.fetchall() #获取所有结果# res = cur.fetchone() #只获取一条结# res = cur.fetchone() #再获取剩下的 第一条结果 #(2, '处长', 0, '19212345678', '靠山屯', 1)# res = cur.fetchall() #取所有剩下的# cur.scroll(0,mode='absolute')  #移动游标,到最前面,#一般很少去移动游标# cur.scroll(-10,mode='relative')  #移动游标,相对于当前位置,-X是向前移动X个,X是向后移动X个# res = cur.fetchone()# print(res)# cur.close() #关闭游标# conn.close() #关闭连接

 

# 3、insert
1 # insert update delete 执行这些sql,必须要提交,才能生效 ,conn.commit 2 # conn = pymysql.connect(host = 'X.X.X.X', 3 #                 user = 'jxz',passwd = '123456', 4 #                 port = 3306, db = 'jxz', charset='utf8')#charset 必须是utf8不能是utf-8 5 # cur = conn.cursor() #建立游标,游标你就认为是仓库管理员 6 # sql = "INSERT INTO `bt_stu` ( `real_name`, `sex`, `phone`, `class`, `type`) VALUES ( 'cm1', '1', '15712341231', '靠山屯', '1');" 7 # cur.execute(sql) #执行sql语句 8 # conn.commit() 9 # cur.close() #关闭游标10 # conn.close() #关闭连接

 

# 4、cursor 不输出元组,输出字典
1 conn = pymysql.connect(host = 'X.X.X.X', 2                 user = 'jxz',passwd = '123456', 3                 port = 3306, db = 'jxz', charset='utf8')#charset 必须是utf8不能是utf-8 4 cur = conn.cursor(cursor=pymysql.cursors.DictCursor) #建立游标,游标你就认为是仓库管理员 5 sql = "select * from bt_stu limit 2" 6 cur.execute(sql) #执行sql语句 7 print(cur.fetchone()) #一条语句,返回就是一条字典 8 # print(cur.fetchall()) #数组里面包含字典[{'phone': '18612341231', 'id': 502, 'sex': 1,。。。。 9 cur.close() #关闭游标10 conn.close() #关闭连接

 

5、利用executemany二维数组插入多行数据

sql = 'insert into seq(blue,red,date) VALUES (%s,%s,%s)'print(sql)all_res = [    ['00','01,02,03,04,05,06','2018-01-04'],    ['00','01,02,03,04,05,06','2018-01-04']]cur.executemany(sql,all_res)

 

转载于:https://www.cnblogs.com/amengmeng/p/8361338.html

你可能感兴趣的文章
[leetcode]Count and Say
查看>>
cookie、session和token的概念入门
查看>>
保护网站页面内容+版权
查看>>
Golang模拟客户端POST表单功能文件上传
查看>>
重启进程
查看>>
js 进度条效果
查看>>
RelativeLayout
查看>>
注意细节
查看>>
currying 柯里化,返回函数
查看>>
ASP.NET WebForm(MVC)下实现消息推送(提供简单Demo下载)
查看>>
Java IO流
查看>>
python调用C语言
查看>>
第一阶段意见评论
查看>>
【EF6学习笔记】(七)读取关联数据
查看>>
2015 省赛随便写写
查看>>
更改Outlook 2013中Exchange数据文件存放路径
查看>>
IIS如何避免子web应用程序中继承根目录web.config配置
查看>>
218. The Skyline Problem
查看>>
delegate作为操作符的使用
查看>>
php 运算符
查看>>