使用python读取mysql数据库并进行数据的操作
(一)环境的配置
使用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数据库并进行数据的操作的更多相关文章
- 解决Python向MySQL数据库插入中文数据时出现乱码
解决Python向MySQL数据库插入中文数据时出现乱码 先在MySQL命令行中输入如下语句查看结果: 只要character_set_client character_set_database ch ...
- Python之mysql数据库更新表数据接口实现
昨天,因为项目需求要添加表的更新接口,来存储预测模型训练的数据. 先码为敬~~~~~~~ # -*- coding: utf-8 -*- import pymysql import settings ...
- python往mysql数据库中写入数据和更新插入数据
本文链接:https://blog.csdn.net/Mr__lqy/article/details/85719603 1. 连接mysql import pymysql db = pymysql.c ...
- MYSQL数据库学习九 数据的操作
9.1 插入数据记录 1. 插入完整或部分数据记录: INSERT INTO table_name(field1,field2,field3,...fieldn) VALUES(value1,valu ...
- 使用python将mysql数据库的数据转换为json数据
由于产品运营部需要采用第三方个推平台,来推送消息.如果手动一个个键入字段和字段值,容易出错,且非常繁琐,需要将mysql的数据转换为json数据,直接复制即可. 本文将涉及到如何使用Python访问M ...
- 读取mysql数据库的数据,转为json格式
# coding=utf-8 ''' Created on 2016-10-26 @author: Jennifer Project:读取mysql数据库的数据,转为json格式 ''' import ...
- 利用PHP实现登录与注册功能以及使用PHP读取mysql数据库——以表格形式显示数据
登录界面 <body><form action="login1.php" method="post"><div>用户名:&l ...
- python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图
python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图 # coding=utf-8 from openpyxl import load_workbook ...
- Python连接MySQL数据库获取数据绘制柱状图
一.Python通过pymysql包获取MySQL数据库中的数据(没有对应包的可以通过pip install pymysql 安装对应的包) import matplotlib.pyplot as p ...
随机推荐
- 关于Vue 兄弟组件通信
最近项目中遇到希望在操作路由组件里面内容的时候可以影响共用组件Header组件(这个其实就是他的兄弟组件)的操作. 意思就是 router-view指向的router来影响Header组件的信息 首 ...
- java.lang.UnsupportedOperationException 原因以及解决方案
如下代码: Map[] cardProds = JsonUtils.getObject(oldCartValue, new TypeReference<Map[]>(){}); List& ...
- Ubuntu16.04下配置ssh免密登录
Ubuntu16.04下配置ssh免密登录 环境准备:新建两台虚拟机,而且两台虚拟机上都装有Ubuntu16.04的系统,使两台虚拟机之间保持互通状态.分别为两台虚拟机命名为A,B.假设我们要使A虚拟 ...
- pytorch中词向量生成的原理
pytorch中的词向量的使用 在pytorch我们使用nn.embedding进行词嵌入的工作. 具体用法就是: import torch word_to_ix={'hello':0,'world' ...
- RabbitMQ实现中AMQP与MQTT消息收发异同
实现了AMQP与MQTT(至多一次)后,用多个队列以topic exchange的方式用相同交换机监听同一个主题(topic),发现情况存在不同,觉得有点意思,所以记录了下来. 用2个MQTT(分别记 ...
- html_outputer.py
coding=UTF-8 # HTML输出器 import sys class htmlOutputer(): def __init__(self): self.data = [] def colle ...
- 11,flask之--WTForms
WTForms是什么? 相当于django的ModelForm. 在网页中,为了和用户进行信息交互总是不得不出现一些表单.flask设计了WTForm表单库来使flask可以更加简便地管理操作表单数据 ...
- ZOJ 3329 Problem Set (期望dp)
One Person Game There is a very simple and interesting one-person game. You have 3 dice, namely Die1 ...
- (A)eclipse搭建springboot项目入门
网上许多资料都是用idea的,但是我个人用eclipse习惯了,所以就在eclipse里面自己尝试着写了一个hello. 然而项目建好后却迟迟不能访问!!!网上搜了许多资料都不靠谱! 虽然最后能看到h ...
- [转]多多“亦”善:把大量内容放到一页PPT的5个技巧
技巧一:利用灰色“隐蔽”内容 灰色有个好处:自动成为“备胎”,在“现任”被浏览后才会被注意到.所以使用灰色能够让页面内容看起来没那么多. 技巧二:对齐和亲密 这是排版的两个原则. 对齐是指对页面上的元 ...