当前位置: 首页 > news >正文

【Python】学习笔记5-模块pymysql操作mysql数据库

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

相关文章:

  • mysql innodb myisam 比较
  • Git 安装配置
  • typeof面试题解答
  • 辩证看待 iostat
  • RpcContext
  • mysql学习笔记(1)--varChar和char类型的区别
  • etcd raft library
  • jQuery数组去重复
  • Nginx 配置文件重写
  • python------并发编程
  • freebsd安装python2
  • js为什么是单线程的?10分钟了解js引擎的执行机制
  • 鸟哥的linux私房菜学习-(十)vim程序编辑器
  • Linux上vi编辑文件非正常退出后文件恢复
  • 常用网络技术
  • php的引用
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • JAVA_NIO系列——Channel和Buffer详解
  • leetcode98. Validate Binary Search Tree
  • magento2项目上线注意事项
  • React的组件模式
  • Redis中的lru算法实现
  • vue 配置sass、scss全局变量
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 码农张的Bug人生 - 初来乍到
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 一道闭包题引发的思考
  • 一文看透浏览器架构
  • 中文输入法与React文本输入框的问题与解决方案
  • 翻译 | The Principles of OOD 面向对象设计原则
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • #Linux(帮助手册)
  • #pragma multi_compile #pragma shader_feature
  • (1)SpringCloud 整合Python
  • (day6) 319. 灯泡开关
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (附源码)计算机毕业设计大学生兼职系统
  • (七)c52学习之旅-中断
  • (三)elasticsearch 源码之启动流程分析
  • (一)基于IDEA的JAVA基础10
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .NET多线程执行函数
  • .NET开源快速、强大、免费的电子表格组件
  • ??myeclipse+tomcat
  • @ResponseBody
  • [<事务专题>]
  • [Android] 240204批量生成联系人,短信,通话记录的APK
  • [Angular] 笔记 8:list/detail 页面以及@Input
  • [BZOJ1040][P2607][ZJOI2008]骑士[树形DP+基环树]
  • [C#][opencvsharp]opencvsharp sift和surf特征点匹配
  • [C#]使用PaddleInference图片旋转四种角度检测