(一)环境的配置
  
  使用python调用mysql数据库要引进一些库。
  
  目前我使用的python版本是python3.6。引进库为pymysql
  
  其他对应的库可以有以下选择:
  
  mysqldb,oursql, PyMySQL, myconnpy 等,参考如下链接:
  
  http://dev.mysql.com/doc/connector-python/en/index.html
  
  http://packages.python.org/oursql/
  
  https://github.com/petehunt/PyMySQL/
  
  https://launchpad.net/myconnpy
  
  (二)连接数据库
  
  conn = pymysql.connect(host='127.0.0.1', user='root', passwd='123456', db='exam', charset='utf8')
  
  cur=conn.cursor()
  
  关于游标cursor:
  
  close():关闭此游标对象
  
  fetchone():得到结果集的下一行
  
  fetchmany([size = cursor.arraysize]):得到结果集的下几行
  
  fetchall():得到结果集中剩下的所有行
  
  excute(sql[, args]):执行一个数据库查询或命令
  
  excutemany(sql, args):执行多个数据库查询或命令
  
  ( 三)数据库基本操作:
  
  #表的创建
  
  cur.execute("drop table if exists exam_class")
  
  cur.execute("CREATE TABLE IF NOT EXISTS exam_class( \
  
  id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT ,\
  
  big_class VARCHAR(255), \
  
  small_class VARCHAR(255) , \
  
  charact VARCHAR(255) ,\
  
  fre DOUBLE(5,4) ) ")
  
  #注意DOUBLE等浮点数声明的时候应该是DOUBLE(M,N) m为数字长度,n为小数点后的位数
  
  #SELECT查询操作
  
  select_sql = 'SELECT small_class,big_class,job_intro FROM table2'
  
  try:
  
  cur.execute(select_sql)
  
  print(cur.execute(select_www.quwanyule157.com sql))
  
  except:
  
  print("Select is failed")
  
  #INSERT插入操作
  
  cur.execute("INSERT INTO exam_class (big_class, small_class, charact, fre)\
  
  VALUES (%s, %s, %s, %s )", (big_name, small_name, context[m][0], context[m][1]))
  
  conn.commit()
  
  #对于插入、更新等对数据库进行修改的工作,在插入之后一定要commit提交。
  
  #此时插入操作是插入一些变量转化成的值。
  
  #正确操作 (%s, %s, %s, %s )", (big_name, small_name, context[m][0], context[m][1])
  
  #错误操作 (%s, %s, %s, %s )" %(big_name, small_name, context[m][0], context[m][1])
  
  #更新、删除同理
  
  #我也很想知道为什么这个代码片的颜色这么怪,没有正确识别注释和代码
  
  (四)注意事项
  
  对于查询操作而言:
  
  cur.execute(select_sql)
  
  result = cur.fetchall(www.wanmeiyuele.cn)
  
  for c in cur:
  
  ... #cursor是游标所在位置,如果输出会发现只有一行数据。
  
  for r in result:
  
  ... #result是在对cursor调用fetchall之后,result是获取的查询所有结果。result是一个列表,r是每一行数据。
  
  对于数据增删改之后,一定要提交!提交!提交!
  
  在所有操作完成之后,一个好习惯是关闭数据库连接,关闭游标。
  
  cur.close(www.michenggw.com)
  
  conn.close()

使用python读取mysql数据库并进行数据的操作的更多相关文章

  1. 解决Python向MySQL数据库插入中文数据时出现乱码

    解决Python向MySQL数据库插入中文数据时出现乱码 先在MySQL命令行中输入如下语句查看结果: 只要character_set_client character_set_database ch ...

  2. Python之mysql数据库更新表数据接口实现

    昨天,因为项目需求要添加表的更新接口,来存储预测模型训练的数据. 先码为敬~~~~~~~ # -*- coding: utf-8 -*- import pymysql import settings ...

  3. python往mysql数据库中写入数据和更新插入数据

    本文链接:https://blog.csdn.net/Mr__lqy/article/details/85719603 1. 连接mysql import pymysql db = pymysql.c ...

  4. MYSQL数据库学习九 数据的操作

    9.1 插入数据记录 1. 插入完整或部分数据记录: INSERT INTO table_name(field1,field2,field3,...fieldn) VALUES(value1,valu ...

  5. 使用python将mysql数据库的数据转换为json数据

    由于产品运营部需要采用第三方个推平台,来推送消息.如果手动一个个键入字段和字段值,容易出错,且非常繁琐,需要将mysql的数据转换为json数据,直接复制即可. 本文将涉及到如何使用Python访问M ...

  6. 读取mysql数据库的数据,转为json格式

    # coding=utf-8 ''' Created on 2016-10-26 @author: Jennifer Project:读取mysql数据库的数据,转为json格式 ''' import ...

  7. 利用PHP实现登录与注册功能以及使用PHP读取mysql数据库——以表格形式显示数据

    登录界面 <body><form action="login1.php" method="post"><div>用户名:&l ...

  8. python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图

    python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图 # coding=utf-8 from openpyxl import load_workbook ...

  9. Python连接MySQL数据库获取数据绘制柱状图

    一.Python通过pymysql包获取MySQL数据库中的数据(没有对应包的可以通过pip install pymysql 安装对应的包) import matplotlib.pyplot as p ...

随机推荐

  1. HDU2837 Calculation(扩展欧拉定理)

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...

  2. Shell 入门笔记(一)

    Shell简介 在开发过程中Linux系统经常接触和使用的,Shell 是我们用户使用 Linux 的桥梁,是C 语言编写的程序.Shell 是一种命令语言,同时一种程序设计语言.对大多数开发人员来说 ...

  3. 数据写入Excel

    通过xlwt这个库,可以将数据写入Excel中,而且通过xlwt写excel格式可以控制 颜色.模式.编码.背景色 下面基本上是一个练习,熟悉如何操作xlwt库的 下面是代码,所有的内容,和介绍,基本 ...

  4. PHP CI框架学习

    CI框架的URL辅助函数使用 URL 辅助函数文件包含一些在处理 URL 中很有用的函数 加载辅助函数 在使用CI框架的使用经常碰到跳转和路径方面的问题,site_url()和base_url()很容 ...

  5. php图片压缩-高清晰度

    php高清晰度无损压缩 经常会用到把上传的大图片压缩,特别是体积,在微信等APP应用上,也默认都是有压缩的,那么,怎么样对图片大幅度压缩却仍能保持较高的清晰度呢? 压缩通常是有按比例缩放,和指定宽度压 ...

  6. B1005 继续(3n+1)猜想 (25分)

    B1005 继续(3n+1)猜想 (25分) 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程 ...

  7. 菜鸟教程perl总结

    数据类型有:  标量$, 数组@,哈希% 数组声明 :  @hits = (25, 30, 40);  或者  @sites = qw/google taobao runoob/; 数组操作 pop, ...

  8. ElasticSearch 环境安装

    1)官网安装教程: http://www.elasticsearch.org/guide/reference/setup/installation/   2)简单安装: http://log.medc ...

  9. 17 rest-framework框架的基本组件

    序列化 创建一个序列化类 简单使用 开发我们的Web API的第一件事是为我们的Web API提供一种将代码片段实例序列化和反序列化为诸如json之类的表示形式的方式.我们可以通过声明与Django ...

  10. 04,Python网络爬虫之requests模块(1)

    引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症.冗余代码症.重新发明轮子症.啃文档 ...