python高级之操作数据库
本节内容
- pymysql介绍及安装
- 使用pymysql执行sql
- 获取新建数据自增ID
- fetch数据类型设置
1.pymysql介绍及安装
在python2中连接数据库使可以使用mysqldb模块,为什么在python3中使用pymysql模块呢?因为在python2中mysqldb和pymysql都可以操作数据库,但是当python升级到3以后,pymysql模块支持python3了,但是mysqldb模块目前还不支持python3,所以用python3的小伙伴们还是先用pymysql吧。pymysql和mysqldb的使用方法基本相同。
安装pymysql可以使用pip安装:
pip3 install pymysql
安装完成之后在python解释器中执行import pymysql如果不报错说明安装成功了。
2.使用pymysql执行sql
import pymysql # 导入模块 conn=pymysql.connect(host="192.168.12.120",port=3306,user="root",passwd="",db="sql_example",charset="utf8")
# 注意,这里传入的参数必须是关键字参数,不能省略关键字,否则将连接不上数据库
# conn.autocommit() # 如果设置了这个属性,则会自动commit sql语句,而不需要手动commit
cursor=conn.cursor() # 创建游标
# cursor.execute("insert into class(caption) values('全栈二班')") r=cursor.execute("select * from class") # 执行查询语句并返回查询的数据行数
print(r) # 打印行数
# print(cursor.fetchall()) # 打印返回的所有数据,数据结构是元祖套元祖((),()),里面的一个元祖就是一行数据
# print(cursor.fetchmany(num)) # 打印返回的num条数据,数据结构是元祖套元祖((),()),里面的一个元祖就是一行数据
print(cursor.fetchone()) # 打印返回的数据中第一行数据,结构是只有一个元祖
cursor.scrroll() # 修改游标的位置 conn.commit() # 手动提交要执行的sql
cursor.close() # 关闭游标
conn.close() # 关闭连接
注:在fetch数据时按照顺序进行,可以使用cursor.scroll(num,mode)来移动游标位置,如:
- cursor.scroll(1,mode='relative') # 相对当前位置移动
- cursor.scroll(2,mode='absolute') # 相对绝对位置移动
3.获取新建数据自增ID
conn = pymysql.connect(host="192.168.12.120",port=3306,user="root",passwd="",db="sql_example",charset="utf8")
cursor = conn.cursor()
cursor.executemany("insert into hosts(host,color_id)values(%s,%s)", [("1.1.1.11",1),("1.1.1.11",2)])
## executemany可以执行多条插入语句,后面接的数据需要是一个可迭代的对象,一般是列表里面套元祖或列表
conn.commit()
cursor.close()
conn.close() # 获取最新自增ID
new_id = cursor.lastrowid # 通过cursor.lastrowid可以获取获取最新行的自增ID
表里面只能有一个字段设置为自增ID。。。
4.fetch数据类型设置
关于默认获取的数据是元祖类型,如果想要获得字典类型的数据,即:
conn = pymysql.connect(host="192.168.12.120",port=3306,user="root",passwd="",db="sql_example",charset="utf8") # 游标设置为字典类型
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
r = cursor.execute("call p1()") result = cursor.fetchone() conn.commit()
cursor.close()
conn.close()
python高级之操作数据库的更多相关文章
-
第九篇:python高级之操作数据库
python高级之操作数据库 python高级之操作数据库 本节内容 pymysql介绍及安装 使用pymysql执行sql 获取新建数据自增ID fetch数据类型设置 1.pymysql介绍及 ...
-
python MySQLdb用法,python中cursor操作数据库(转)
数据库连接 连接数据库前,请先确认以下事项: 您已经创建了数据库 TESTDB. 在TESTDB数据库中您已经创建了表 EMPLOYEE EMPLOYEE表字段为 FIRST_NAME, LAST_N ...
-
Python 高级网络操作 - Python Advanced Network Operations
Python 高级网络操作 - Python Advanced Network Operations Half Open Socket, 一个单向的 socket 被称为 half open sock ...
-
python中cursor操作数据库(转)
原文出处:http://doudouclever.blog.163.com/blog/static/175112310201284115340663/ python 操作数据库,要安装一个Python ...
-
10 python学习笔记-操作数据库(十)
在功能.接口测试中,常常需要通过数据库的操作,来准备数据.检测环境及核对功能.接口的数据库操作是否正确. 在自动化测试中,就需要我们用代码连接数据库自动完成数据准备. 环境检查及数据库断言的功能.数据 ...
-
Python教程:操作数据库,MySql的安装详解
各位志同道合的同仁请点击上方关注 本教程是基于Python语言的深入学习.本次主要介绍MySql数据库软件的安装.不限制语言语法,对MySql数据库安装有疑惑的各位同仁都可以查看一下. 如想查看学习P ...
-
python通过cx_oracle操作数据库过程简单记录
1.环境配置 环境配置过程中,需要关注软件版本是否一致,主要包括:oracle客户端版本.cx_oracle版本.python版本: 2.操作记录 (1)验证环境是否正常:(无报错即为正常) impo ...
-
Python 连接、操作数据库
使用python3+pymysql 一.安装python3 a) 从网上下载安装吧 二.安装pymysql https://pypi.python.org/pypi/PyMySQL h ...
-
Python使用PyMysql操作数据库
安装 pip install -U pymysql 连接数据库 连接数据库有两种不同的格式 直接使用参数 代码如下 import pymysql.cursors connection = pymysq ...
随机推荐
-
C++中const 的各种用法
C++中const 关键字的用法 const修饰变量 const 主要用于把一个对象转换成一个常量,例如: ; size = ; // error: assignment of read-only v ...
-
Yii2 redis与cache
原文地址:http://www.myexception.cn/php/1974979.html composer require yiisoft/yii2-redis 安装后使用超简单,打开 comm ...
-
无责任Windows Azure SDK .NET开发入门篇三[使用Azure AD 管理用户信息]
三.使用Azure AD管理用户信息 在上一章我们采用OpenID的方案和Azure AD交互进行身份验证,本章节我们继续了解如何在Azure AD中创建用户,列出用户信息,修改用户信息和删除用户信息 ...
-
POJ 2697 A Board Game (bfs模拟)
比较水的一道题,在4*4的棋盘上有黑白子,现在有某种移动方式,问能否通过它将棋盘从某个状态移动到另一种状态 只要想好怎么保存hash表来去重,其他就差不多了... #include <iostr ...
-
jQuery 插件入门
先看http://www.cnblogs.com/lideng/p/3605551.html http://www.cnblogs.com/xcj26/p/3345556.html (非常细致 很多 ...
-
ios ViewController的生命周期分析和基本使用逻辑
按结构可以对iOS的所有ViewController分成两类:1.主要用于展示内容的ViewController,这种ViewController主要用于为用户展示内容,并与用户交互,如UITable ...
-
Cookie 数据浅谈
Cookie 是一些数据, 存储于你电脑上的文本文件中. 当 web 服务器向浏览器发送 web 页面时,在连接关闭后,服务端不会记录用户的信息. Cookie 的作用就是用于解决 "如 ...
-
php+ajax 文件上传
html 代码 <form action="{pboot:form fcode=8}" method="post" id="t" en ...
-
python note 10 函数变量
1.命名空间 #内置命名空间 —— python解释器 # 就是python解释器一启动就可以使用的名字存储在内置命名空间中 # 内置的名字在启动解释器的时候被加载进内存里#全局命名空间 —— 我们写 ...
-
深入浅出的webpack构建工具---webpack3版本的CommonsChunkPlugin详解(六)
阅读目录 一:什么是CommonsChunkPlugin, 它的作用是什么? 二:webpack3中CommonsChunkPlugin配置项及含义? 回到顶部 一:什么是CommonsChunkPl ...