(一)环境的配置
  
  使用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. JS基础——JavaScript原型和原型链及实际应用

    构造函数 function Stu(name,age){ this.name=name; this.age=age; } instanceof 查看引用类型对象是属于哪个构造函数的方法,通过__pro ...

  2. CMD批处理复制目录下所有文件

    从我接触编程时,WIN7已经是最普及的系统了. 有一天,我需要在服务器更新某个软件或游戏的时候,我都需要先在其中一台服务器下载更新, 然后同步到其他服务器,而且这种操作也是非常频繁的,我就想写个批处理 ...

  3. tcp客户端socket

    import socket # 和udp的区别显而易见,udp发送和接收的是一个元祖,因为udp是不建立连接的,只有得到了对方的端口和ip才能进行沟通. # 而tcp不是,tcp发送和接受的是一个字符 ...

  4. java-反射和代理

    1.类的编译和运行简易过程: java的源码文件(也称为编译单元,以.java为后缀的文件) ↓ 文件内最多只能有一个public修饰的类,否则编译器报错:某个类被public修饰,该类名必需与文件名 ...

  5. python安装教程(面向对象的解释型计算机程序设计语言)

    inux下默认自带的.包括mac,是python2.x 但咱们玩的最新的  python3.x  怎么办呢centos下安装方法:  sudo yum install epel- sudo yum i ...

  6. 38.VUE学习之-全局组件和局部组件

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  7. 使用union all 命令之后如何对hive表格进行去重

    业务场景大概是这样的,这里由两个hive表格,tableA 和 tableB, 格式内容都是这样的: uid cate1 cate2 在hive QL中,我们知道union有着自动去重的功能,但是那是 ...

  8. Social Media Addiction【社交媒体上瘾】

    Social Media Addiction Children as young as ten are becoming dependent on social media for their sen ...

  9. C++基础 C++对类的管理——封装

    1.封装 两层含义: (1)把事物的属性和方法结合成个整体. (2)对类的属性和方法进行访问控制,对不信的进行信息屏蔽. 2.访问控制 控制分为 类的内部,类的外部. public 修饰的成员,可在内 ...

  10. 边缘检测 opencv

    本次实验使用了两种方法进行了边缘检测,分别使用到了opencv中的两个API函数为Canny()和Sobel()函数.实验后加了Scharr滤波器,它其实是基于Sobel()函数的. 这三个API中的 ...