MySQL数据库与python交互
1.安装引入模块
安装mysql模块
pip install PyMySQL;
文件中引入模块
import pymysql
2.认识Connection对象
用于建立与数据库的连接
创建对象:调用connect()方法
conn = pymysql.connect(host="主机",port=3306,user="用户名",passwd="密码",db="数据库名",charset="utf8")
如果是本机,host填'localhost',port端口号,默认3306,charset字符编码,默认是'gb2312',要求与数据库创建时指定的编码一致,否则中文会乱码
对象方法
- close()-------关闭连接
- commit()-----提交事务,使操作生效,在执行select查询任务时,则不需要这一步
- rollback()----回滚事务,放弃之前的操作
- cursor()------创建cursor对象,用于执行sql语句
3.认识Cursor对象
执行sql语句
创建对象,调用Connection对象的cursor()方法
cur = conn.cursor()
对象的方法:
- close()-----关闭
- execute(sql,[,parameters])-----执行语句,返回受影响的行数,第二个参数可选,元组或列表类型,参数化可以防止sql注入风险
- fetchone()-----执行查询语句时,获取查询结果集的第一个行数据,返回一个元组,未查到,则返回None。如果结果集不止一条数据,可以再次执行fetchone()获得第二个行数据,依此类推
- fetchall()-----执行查询时,获取结果集的所有行,一行构成一个元组,再将这些元组装入一个元组返回,未查到,则返回空元组()。
- scroll(value[,mode])-----将行指针移动到某个位置。mode表示移动的方式,默认值为'relative',value表示基于当前行向上(取负值)或向下(取正值)移动的行数。当mode的值为‘absolute’,value表示基于第一行数据(位置为0)向下移动的行数。
对象的属性:
- rowcount只读属性,表示最近一次execute()执行后受影响的行数
- connection获得当前连接对象
4.示例
增加、修改、删除一条学生表数据
# coding = utf-8 import pymysql con = pymysql.connect(host='localhost',port=3306,user='root',password='123',db='test',charset='utf8') # 创建connect对象
cur = conn.cursor() #创建cursor对象
name = input('请输入添加的学生姓名:')
sql1 = 'insert into students(name) values(%s);'
sql2 = 'delete from students where name = "老王";'
sql3 = 'update students set name = “老张” where name = "老李";'
try:
cur.execute(sql1,[name]) #增加一条数据
cur.execute(sql2) #删除一条数据
cur.execute(sql3) #修改一条数据
except Exception as e:
print(e)
con.rollback() # 放弃之前的所有操作
else:
con.commit() # 提交,使所有操作生效
cur.close() # 关闭cursor对象
con.close() # 关闭连接
查询一条学生表数据以及剩下的多行数据
# coding = utf-8 import pymysql con = pymysql.connect(host='localhost',port=3306,user='root',password='123',db='test',charset='utf8') # 创建connect对象
cur = conn.cursor() #创建cursor对象
try:
sql = 'select * from students;'
count = cur.execute(sql)
data1 = cur.fetchone() #查找第一行数据
print(data1)
data2 = cur.fetchall() # 查找剩下所有行数据
print(data2)
except Exception as e:
print(e)
cur.close()
con.close()
MySQL数据库与python交互的更多相关文章
- 四:MySQL系列之Python交互(四)
该篇主要介绍MySQL数据库的分表.以及与Python的交互的基本操作等. 一.拆分表操作 1.1 准备工作 创建数据库 --> 使用数据库 --> 创建数据表 --- 添加记录 -- ...
- python在windows下连接mysql数据库
一,安装MySQL-python python 连接mysql数据库需要 Python interface to Mysql包,包名为 MySQL-python ,PyPI上现在到了1.2.5版本.M ...
- django新建项目,连接mysql数据库
安装django,进入Django目录,运行 python setup.py install 在workplace目录下新建一个名为site01的项目: cd workplacedjango-admi ...
- Django2.2使用mysql数据库pymysql版本不匹配问题的解决过程与总结
前置条件 django版本:2.2.1 python版本:3.6.6 mysql版本:mysql-community8.0.15 问题 在搭建django项目,配置mysql数据库时遇到无法迁移数据库 ...
- python中web应用与mysql数据库交互
7使用数据库 具体使用python的DB-API,这一章里介绍如何编写代码与MYSQL数据库技术交互,这里使用一个通用的数据库API,名为DB-API. 7.1基于数据库的web应用 之前我们把日志数 ...
- python【第十二篇下】操作MySQL数据库以及ORM之 sqlalchemy
内容一览: 1.Python操作MySQL数据库 2.ORM sqlalchemy学习 1.Python操作MySQL数据库 2. ORM sqlachemy 2.1 ORM简介 对象关系映射(英语: ...
- mysql及python交互
mysql在之前写过一次,那时是我刚刚进入博客,今天介绍一下mysql的python交互,当然前面会把mysql基本概述一下. 目录: 一.命令脚本(mysql) 1.基本命令 2.数据库操作命令 3 ...
- 在python中配置MySQL数据库
MySQL数据库(1) 尽管用文件形式将数据保存到磁盘,已经是一种不错的方式.但是,人们还是发明了更具有格式化特点,并且写入和读取更快速便捷的东西——数据库(如果阅读港台的资料,它们称之为“资料库”) ...
- MysQL使用一与Python交互
与python交互 在熟练使用sql语句的基础上,开始使用python语言提供的模块与mysql进行交互 这是我们在工作中大事要做的事 先学会sql是基础,一定要熟练编写sql语句 安装引入模块 安装 ...
随机推荐
- Redis all in one
Redis all in one Redis: REmote DIctionary Server https://redis.io/topics/quickstart Download, extrac ...
- React & redux-saga & effects & Generator function & React Hooks
React & redux-saga & effects & Generator function & React Hooks demos https://github ...
- The State of JavaScript 2019
The State of JavaScript 2019 https://stateofjs.com/ https://survey.stateofjs.com/ https://2018.state ...
- java初学者必看之构造方法详细解读
java初学者必看之构造方法详细解读 构造方法是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法. 格式 public 类名称(参数类型 参数名称){ 方法体 } 注 ...
- NLog整合Exceptionless
前言 在实际的.Net Core相关项目开发中,很多人都会把NLog作为日志框架的首选,主要是源于它的强大和它的扩展性.同时很多时候我们需要集中式的采集日志,这时候仅仅使用NLog是不够的,NLog主 ...
- 使用stress进行压力测试
本文转载自使用stress进行压力测试 导语 stress,顾名思义是一款压力测试工具.你可以用它来对系统CPU,内存,以及磁盘IO生成负载. 安装stress 几乎所有主流的linux发行版的软件仓 ...
- React Context 理解和使用
写在前面 鉴于笔者学习此内容章节 React官方文档 时感到阅读理解抽象困难,所以决定根据文档理解写一篇自己对Context的理解,文章附带示例,以为更易于理解学习.更多内容请参考 React官方 ...
- 基于docker搭建jenkins
一.概述 Jenkins 的前身是 Hudson 是一个可扩展的持续集成引擎.Jenkins 是一款开源 CI&CD 软件,用于自动化各种任务,包括构建.测试和部署软件.Jenkins 支持各 ...
- CSS元素层级的概念及性质
元素的层级的介绍 什么是元素的层级 通过z-index可以改变开启定位元素的层级 父元素的层级再高也不会遮盖住子元素 元素的层级的介绍 什么是元素的层级 当元素开启定位后就会是元素提升一个层级,网页是 ...
- MySQL索引由浅入深
索引是SQL优化中最重要的手段之一,本文从基础到原理,带你深度掌握索引. 一.索引基础 1.什么是索引 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构,索引对于 ...