MySQL数据库-pymysql模块操作数据库
pymysql模块是python操作数据库的一个模块
connect()创建数据库链接,参数是连接数据库需要的连接参数
使用方式:
模块名称.connect()
参数:
host=数据库ip
port=数据库端口
user=数据库用户名
passwd=数据库密码
db=数据库名称
charset=数据库编码
cursor()创建数据库操作游标,无参
使用方式:
游标变量.cursor()
execute()操作数据库,参数1 sql语句,参数2 字符串占位符变量
使用方式:
游标变量.execute()
execute()操作数据库会返回,操作数据库后影响的行数,我们可以以此判断是否操作成功
commit()提交数据到数据库,无参
使用方式:
创建数据库链接变量.commit()
close()关闭游标
使用方式:
游标变量.close()
close()关闭数据库
使用方式:
创建数据库变量.close()
__author__ = 'zjl'
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pymysql
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='mysql123',database="day17",charset="utf8")
cursor=conn.cursor()
# 创建游标 # 执行SQL,并返回收影响行数
v=cursor.execute("select * from class")
print(v)
effect_row = cursor.execute("INSERT INTO shirts(name) VALUES('adc8868')")#添加一条数据
print(effect_row)
# 提交,不然无法保存新建或者修改的数据
conn.commit() cursor.close()# 关闭游标
conn.close()# 关闭连接
execute(sql语句%s,(占位符变量))执行sql语句时的占位符使用
execute()操作一条数据
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pymysql
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='cshi')
# 创建游标
cursor = conn.cursor() # 执行SQL,并返回收影响行数
effect_row = cursor.execute("INSERT INTO shirts(yhm,mim) VALUES(%s,%s)",('adc279819',279819)) #添加一条数据
print(effect_row) #返回影响行数 # 提交,不然无法保存新建或者修改的数据
conn.commit() # 关闭游标
cursor.close()
# 关闭连接
conn.close()
查询数据库数据
注意:操作数据库的增、删、改都需要commit()提交数据到数据库,而查询是不需要commit()的
fetchall()获取游标查询数据库里的数据,返回元祖
使用方式:
游标变量.fetchall()
查询数据库内容时更改游标返回字典类型数据【推荐】
返回字典类型将数据库表的列(字段)作为键返回
默认查询数据时游标返回的元祖类型,如果想返回字典类型就需要设置游标
cursor=pymysql.cursors.DictCursor设置游标返回字典类型数据,当做参数写在execute()里,execute(cursor=pymysql.cursors.DictCursor)
#!/usr/bin/python
# -*- coding:utf-8 -*-
import pymysql # 获取数据
conn = pymysql.Connect(host='192.168.12.89',port=3306,user='root',password="",database="s17day11db",charset='utf8')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
# 受影响的行数
v = cursor.execute('select * from student')
result = cursor.fetchall()
print(result) cursor.close()
conn.close()
移动游标里数据指针获取对应数据
scroll(1,mode='relative')相对当前位置移动
使用方式:
游标变量.scroll(1,mode='relative')
第一个参数正数相对当前位置向下移动数值对应指针,第一个负数相对当前位置向上移动数值对应指针
scroll(2,mode='absolute')相对绝对位置移动
使用方式:
游标变量.scroll(2,mode='absolute')
将指针位置移动到第一个参数数值对应指针
相对当前位置移动获取数据mode='relative'
import pymysql
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='mysql123',database="day17",charset="utf8")
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
# 受影响的行数
v = cursor.execute('select * from student')
result = cursor.fetchone()
result = cursor.fetchone()
# result=cursor.fetchone()
print(result)#打印应该是第2条
cursor.scroll(-2,mode='relative') #调整指针,相对当前位置向上移动2位 (第一个参数正数相对当前位置向下移动数值对应指针)
result = cursor.fetchone()
print(result)#调整指针 打印的位置
conn.commit()# 提交,不然无法保存新建或者修改的数据
cursor.close()
conn.close()
# {'sid': 2, 'sname': '陈涛', 'class_id': 1, 'gender': '男'}
# {'sid': 1, 'sname': '刘浩', 'class_id': 1, 'gender': '男'}
相对绝对位置移动mode='absolute'
import pymysql
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='mysql123',database="day17",charset="utf8")
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
# 受影响的行数
v = cursor.execute('select * from student')
result = cursor.fetchone()
result = cursor.fetchone()
result=cursor.fetchone()
print(result)#打印应该是第三条
cursor.scroll(3,mode='absolute')#调整指针,相对绝对位置移动3位
result = cursor.fetchone()
print(result)
conn.commit()# 提交,不然无法保存新建或者修改的数据
cursor.close()
conn.close()
{'sid': 3, 'class_id': 2, 'sname': '吴一飞', 'gender': '男'}
{'sid': 4, 'class_id': 2, 'sname': '姜浩', 'gender': '男'}
添加数据库时获取到添加数据的自增id
lastrowid获取添加数据时的自增id
使用方式:
游标变量.lastrowid
注意:如果是添加的多条数据,获取到的自增id是最后一条的自增id
import pymysql # 获取数据
conn = pymysql.Connect(host='192.168.12.89',port=3306,user='root',password="",database="s17day11db",charset='utf8')
cursor = conn.cursor() cursor.execute('insert into class(caption) values(%s)',['新班级'])
conn.commit()
new_class_id = cursor.lastrowid # 获取新增数据自增ID cursor.execute('insert into student(sname,gender,class_id) values(%s,%s,%s)',['李杰','男',new_class_id])
conn.commit() cursor.close()
conn.close()
MySQL数据库-pymysql模块操作数据库的更多相关文章
- 第二百七十九节,MySQL数据库-pymysql模块操作数据库
MySQL数据库-pymysql模块操作数据库 pymysql模块是python操作数据库的一个模块 connect()创建数据库链接,参数是连接数据库需要的连接参数使用方式: 模块名称.connec ...
- 利用PyMySQL模块操作数据库
连接到数据库 import pymysql # 创建链接得到一个链接对象 conn = pymysql.Connect( host="127.0.0.1", # 数据库服务器主机地 ...
- 基于Python的接口自动化实战-基础篇之pymysql模块操作数据库
引言 在进行功能或者接口测试时常常需要通过连接数据库,操作和查看相关的数据表数据,用于构建测试数据.核对功能.验证数据一致性,接口的数据库操作是否正确等.因此,在进行接口自动化测试时,我们一样绕不开接 ...
- pymysql模块操作数据库
pymysql模块是python操作数据库的一个模块 connect()创建数据库链接,参数是连接数据库需要的连接参数 使用方式: 模块名称.connect() 参数: host=数据库ip po ...
- 调用pymysql模块操作数据库
1.创建数据库表: def create_table(tb_name): import pymysql#导入模块 #连接数据库 db = pymysql.Connect(','zabbix_db') ...
- pymysql模块操作数据库及连接报错解决方法
import pymysql sql = "select host,user,password from user" #想要执行的MySQL语句 #sql = 'create da ...
- 第二百八十九节,MySQL数据库-ORM之sqlalchemy模块操作数据库
MySQL数据库-ORM之sqlalchemy模块操作数据库 sqlalchemy第三方模块 sqlalchemysqlalchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API ...
- Python中操作mysql的pymysql模块详解
Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...
- MySQL之pymysql模块
MySQL之pymysql模块 import pymysql #s链接数据库 conn = pymysql.connect( host = '127.0.0.1', #被连接数据库的ip地址 po ...
随机推荐
- ( 转) Awesome Image Captioning
Awesome Image Captioning 2018-12-03 19:19:56 From: https://github.com/zhjohnchan/awesome-image-capti ...
- SAP SD-销售模式-寄售(客户寄售)
SAP SD-销售模式-寄售(客户寄售) http://blog.sina.com.cn/s/blog_a440b7ee01014kgq.html http://www.doc88.com/p-23 ...
- 去除pt种里tracker的方法
1.下载BEncode Editor,打开 2.把下载的种子拖进去,可以看到这样的: tracker就是箭头指的地方,这个包含了个人帐号独一无二的私钥,如果泄露给别人的话别人下载就是走的你的帐号,轻则 ...
- lib下的Jar包在项目打包的时候提示不能找不到
maven 使用本地包 lib jar包 依赖一个lib目录 解决方法: <plugin> <groupId>org.apache.maven.plugins</grou ...
- legend2---开发日志10(ajax请求的方法是否同样会执行base控制器里面的方法)
legend2---开发日志10(ajax请求的方法是否同样会执行base控制器里面的方法) 一.总结 一句话总结:会执行的,所以写base控制器里面的方法要注意,base控制器里面的方法要以查数据为 ...
- 整合SpringData JPA
ORM(Object Relational Mapping): 1).编写一个实体类(bean)和数据表进行映射,并且配置好映射关系: //使用JPA注解配置映射关系 @Entity //告诉JPA这 ...
- 《SQL 基础教程》第四章:数据更新
数据更新包括了表存在的情况下数据的添加,数据的删除和数据的更新,主要是下面三个语句: INSERT 语句 DELETE 语句 UPDATE 语句 在本章的最后,讲了关于「事务」的相关知识,用于对作出的 ...
- python 爬虫&爬取豆瓣电影top250
爬取豆瓣电影top250from urllib.request import * #导入所有的request,urllib相当于一个文件夹,用到它里面的方法requestfrom lxml impor ...
- django学习之——Model
打开 settings.py 找到 DATABASE 配置我们的数据库,(MySQL) # Database # https://docs.djangoproject.com/en/1.7/ref/ ...
- 分布式监控系统(类zabbix)
目录: 为什么要做监控? 监控系统业务需求分析: 监控系统架构设计: 监控系统表结构设计: 一.为什么要做监控系统? 市面上已经有很多成熟的监控系统,例如zabbix.nagios,为什么自己开发监控 ...