对于python操作mysql 数据库,具体的步骤应为:

1. 连接上mysql host 端口号 数据库 账号 密码
2. 建立游标
3. 执行sql(注意,如果是update,insert,delete 需要进行提交才能生效。)
4. 获取结果
5. 关闭连接、关闭游标

一、默认获取的结果是元祖

 conn = pymysql.connect(host='localhost',user='root',passwd='',port=3306,db='sakila',charset='utf8')
#charset 必须写utf8, 不能写utf-8; port 要写int 类型,不能加上引号
cur = conn.cursor() # 建立游标,游标认为你是仓库管理员
cur.execute('select * from user limit 10;')
res = cur.fetchone() # 只获取一条结果,它的结果是一个一维元祖,第一次获取到第一条
##print('fetchone',cur.fetchone()) # 第二次获取到的是第二行;
print(res)
print('fetchall',cur.fetchall())# 获取第二条开始的所有数据,获取sql语句执行的结果, 是个二维元祖,它把结果放到一个元祖里,每一条数据也是一个元祖
print(res)
print(res[0][1])
print('fetchone',cur.fetchone()) # #被获取完了,所以获取到的是None
# 如果确定只有一条数据的用fetchone, 超过一条数据的那就用fetchall

二、将获取的结果转字典,方便使用

 conn = pymysql.connect(host='localhost',user='root',passwd='',port=3306,db='sakila',charset='utf8')
cur = conn.cursor(cursor=pymysql.cursors.DictCursor) # 将元祖转为字典
sql = "select * from user where name='aa'"
cur.execute(sql)
print(cur.fetchone()) #获取字典
res = cur.fetchall()
print(res) #list 里存字典
cur.close()#关闭游标
conn.close()#关闭连接

在python 中会经常用到mysql,因此可以写了一个函数用于mysql的操作,要使用时调用以下即可。

 import pymysql
def op_mysql(host,user,password,db,sql,port=3306,charset='utf8'):
conn = pymysql.connect(host=host,user=user,
password=password,
db=db,
port=port,
charset=charset)
cur = conn.cursor(cursor=pymysql.cursors.DictCursor)
cur.execute(sql)
# select, update, delete, insert 长度都是6位
# SELECT
sql_start = sql[:6].upper() # sql 的前6位字符串,判断它是什么类型的sql语句
if sql_start == 'SELECT':
res = cur.fetchall()
else:
conn.commit()
res = 'ok'
cur.close()
conn.close()
return res
sql = 'select * from user limit 5;'
op_mysql(
host='localhost',
user='root',
password='',
port=3306,
db='sakila',
charset='utf8',
sql=sql)

												

python 之操作mysql 数据库实例的更多相关文章

  1. Python MySQLdb模块连接操作mysql数据库实例_python

    mysql是一个优秀的开源数据库,它现在的应用非常的广泛,因此很有必要简单的介绍一下用python操作mysql数据库的方法.python操作数据库需要安装一个第三方的模块,在http://mysql ...

  2. python 2.7 操作mysql数据库 实例

    create table msg(id int primary key auto_increment,title varchar(20),name varchar(60),content varcha ...

  3. Python之 操作 MySQL 数据库

    什么是MySQLdb? MySQLdb 是用于Python链接Mysql数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的. 安装 Pytho ...

  4. shell脚本连接、读写、操作mysql数据库实例

    本文介绍了如何在shell中读写mysql数据库.主要介绍了如何在shell 中连接mysql数据库,如何在shell中创建数据库,创建表,插入csv文件,读取mysql数据库,导出mysql数据库为 ...

  5. python实现操作mysql数据库

    实现代码如下: #mysql数据库的查询等 import pymysql from xctest_tools.xc_ReadFile.get_ReadTxt import * class mysql: ...

  6. python 安装操作 MySQL 数据库.

    以ubuntu和mysql为例 检查自己的机器上面有没有安装数据库 xpower@xpower-CW65S:~$ sudo service mysql start [sudo] xpower 的密码: ...

  7. Python之操作MySQL数据库

      一.操作步骤 1.导入pymysql模块 2.建立连接(ip.用户名.密码.数据库名.端口号.字符集.(自动提交参数)) 3.建立游标 4.执行sql语句 (4.需要提交的提交) 5.关闭游标 6 ...

  8. python 连接操作mysql数据库

    开发数据库程序流程: 1.创建connection对象,获取cursor 2.使用cursor执行SQL 3.使用cursor获取数据.判断执行状态 4.提交事务 或者 回滚事务 import: 数据 ...

  9. python,java操作mysql数据库,数据引擎设置为myisam时能够插入数据,转为innodb时无法插入数据

    今天想给数据库换一个数据引擎,mysiam转为 innodb 结果 python 插入数据时失败,但是自增id值是存在的, 换回mysiam后,又可以插入了~~ 想换php插入试试,结果php数据引擎 ...

随机推荐

  1. selenium使用中遇到的问题

    1.Exception in thread "main" org.openqa.selenium.WebDriverException: Cannot find firefox b ...

  2. MyBatis 最强大的特性之一就是它的动态语句功能

    MyBatis 最强大的特性之一就是它的动态语句功能.如果您以前有使用JDBC或者类似框架的经历,您就会明白把SQL语句条件连接在一起是多么的痛苦,要确保不能忘记空格或者不要在columns列后面省略 ...

  3. java的开发主要以http为基础

    java的开发主要以http为基础. 反射:主要用于工具和框架的开发. 反射是对于类的再抽象:通过字符串来抽象类. JAVA类的运行:classLoader:加载到虚拟机(vm) Vm中只能存储对象( ...

  4. UNIQLO

    UNIQLO品牌的迅销公司建立于1963年,当年是一家销售西服的小服装店.公司现任董事长兼总经理柳井正早年毕业于早稻田大学经济学专业,1972年8月进入迅销公司,1984年9月就任公司董事长兼总经理. ...

  5. ResNet 结构理解

    博客来源于:https://blog.csdn.net/buyi_shizi/article/details/53336192:https://blog.csdn.net/dcrmg/article/ ...

  6. Amazon(vpc)对等网络

    对等连接测试 1.1 东京账户A创建对等连接 注意,双方的vpc网段不能重复,如果重复会造成无法配置路由表 输入双方信息 账户ID和VPC 1.2 东京账户A查看 查看连接信息 显示正在处理接受,需要 ...

  7. Mac 安装Bower

    1.安装bower,得首先安装node: 1 brew install npm  //npm是nodejs的程序包管理器,如果安装过nodejs,可忽略此步. 2.安装Git(因为需要从Git仓库获取 ...

  8. ionic 弹窗(alert, confirm)

    直接上代码吧,不解释了 控制器: angular.module('app.controllers', []) .controller('categoryCtrl', ['$scope', '$http ...

  9. PDF.NET数据开发框架实体类操作实例

    PDF.NET数据开发框架实体类操作实例(MySQL)的姊妹篇,两者使用了同一个测试程序,不同的只是使用的类库和数据库不同,下面说说具体的使用过程. 1,首先在App.config文件中配置数据库连接 ...

  10. Android无线测试之—UiAutomator UiWatcher API介绍一

    UiWatcher类介绍与中断监听检查条件 一.UiWatcher类说明 1.Uiwatcher用于处理脚本执行过程中遇到非预想的步骤 2.UiWatcher使用场景 1)测试过程中来了一个电话 2) ...