python 数据库mysql、redis及发送邮件
python 关系型数据库链接使用--mysql
- import pymysql # 引用mysql模块
- # 创建连接,指定数据库的ip地址,账号、密码、端口号、要操作的数据库、字符集
coon = pymysql.connect(host='118.24.3.40',user='jxz',password='123456',
port=3306,db='jxz',charset='utf8',autocommit=True)- cur = coon.cursor() #建立游标,
# 上面的操作,获取到的返回结果都是元组,如果想获取到的结果是一个字典类型的话,可以使用下面这样的操作
# cursor = coon.cursor(cursor=pymysql.cursors.DictCursor) #需要指定游标的类型,字典类型- # cur.execute('select * from nhy;') #执行sql语句,它只是帮你执行sql语句,不会给你返回数据
sql = 'insert into nhy (name,pwd) value ("xiaobai","1234567");'
cur.execute(sql)
# cur.execute('select * from nhy where name="xiaobai";')- coon.commit() #修改,删除,增加数据,需要commit;不然数据库没有保存。也可以在创建链接时加上“autocommit = Ture”,表示cur.execute(sql)执行完sql后自动提交
print(cur.fetchall()) #获取查询到的所有结果
# print(cur.fetchone()) #只获取一条
# print(cur.fetchmany(2)) #指定获取几条- # 获取最新自增ID
- cur.close()#游标关闭
coon.close()#连接关闭- python redis数据库的str和hash
- import redis
- #其他的方法
# print(r.keys('*info')) #获取到所有的key,‘*info’以info结尾的所有key
# print(r.exists('dashu_name')) #判断这个key是否存在
# r.flushdb() #可以清空当前数据库里面所有的key
# r.expire('session_crm',600) #指定key的失效时间
# print(r.ttl('session_crm')) #用来这个key的失效时间
# print(r.type('session_crm')) #看key的类型
- res = r.hgetall('session_crm') #获取到hash类型里面所有的数据
a = {}
for k,v in res.items():
a[k.decode()] = v.decode()
print(a)
- redis 获取的数据都是编码型的,所有需要的时候需要v.decode()将编码转为字符串
- 发送邮件
- import yagmail
# 邮箱地址
user_name='heijame@163.com'
# 登录邮箱开启POP3/SMTP服务,设置邮箱的授权码,qq自动生成
passwd='qwe123'
# 若是QQ邮箱加上参数stmp_ssl=Ture;yagmail.SMTP(user=user_name, password=passwd, host='smtp.163.com',stmp_ssl=Ture)
- mail = yagmail.SMTP(user=user_name, password=passwd, host='smtp.163.com')
# ‘to’:发送给某人,单引号包裹邮箱地址,也可以多人['23432411@qq.com','989787765@qq.com'];‘cc’抄送某人;‘subject’主题;‘contents’正文;attachment附件地址,文件路劲前加r
# r'C:\app\www\123.txt'
mail.send(to='511402865@qq.com', subject='导出excel', contents='zuoye', attachments=r'D:\Documents\coding\spz-python\day6\student_table.xls')
python 数据库mysql、redis及发送邮件的更多相关文章
- 实战接口开发:python + flask + mysql + redis(根据反馈,持续细化更新。。。)
前言 自动化已经成为测试的必备技能之一了,所以,很多想跳槽的测试朋友都在自学,特别是最实用的接口自动化, 但是很多人因为没有可以练手的项目而苦恼,最终导致缺乏实战经验,其实,完全可以自己开发个简单项目 ...
- python3.4学习笔记(二十五) Python 调用mysql redis实例代码
python3.4学习笔记(二十五) Python 调用mysql redis实例代码 #coding: utf-8 __author__ = 'zdz8207' #python2.7 import ...
- python连接MySQL/redis/mongoDB数据库的简单整理
python连接mysql 用python操作mysql,你必须知道pymysql 代码示意: import pymysql conn = pymysql.connect(host='127.0.0. ...
- Python操作MySQL+Redis+MongoDB
1-1 python操作三大主流数据库导学篇 1-2 数据库简介 1-3 MySQL简介 2-1 MySQL安装及配置 2-2 MySQL图形化管理工具 2-3 SQL语法基础-创建并使用数据库 2- ...
- python数据库(mysql)操作
一.软件环境 python环境默认安装了sqlite3,如果需要使用sqlite3我们直接可以在python代码模块的顶部使用import sqlite3来导入该模块.本篇文章我是记录了python操 ...
- python操作mysql,redis
import pymysqlip ="127.0.0.1"#数据库地址user = 'username'#数据库用户名password="pwd"#数据库密码d ...
- 饮冰三年-人工智能-Python-21 Python数据库MySql
一:下载与安装 1:下载地址:https://dev.mysql.com/downloads/mysql/ 2:安装MySql 打开下载文件解压到指定文件目录.(我这里解压目录为D:\MySql\my ...
- python数据库-MySQL数据库高级查询操作(51)
一.什么是关系? 1.分析:有这么一组数据关于学生的数据 学号.姓名.年龄.住址.成绩.学科.学科(语文.数学.英语) 我们应该怎么去设计储存这些数据呢? 2.先考虑第一范式:列不可在拆分原则 这里面 ...
- python数据库MySQL之视图,触发器,事务,存储过程,函数
一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的 ...
随机推荐
- python汉诺塔问题的递归理解
一.问题背景 汉诺塔问题是源于印度一个古老传说. 源于印度一个古老传说的益智玩具.大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘.大梵天命令婆罗门把圆盘从下 ...
- 关于No qualifying bean of type [XXX.XXX] found for dependency 的一次记录
异常开始于spring+springmvc+mybatis 注解配置,启动tomcat服务器出现No qualifying bean of type [com.***.service] found f ...
- Oracle数据库row_number详解<转>
语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN) 简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的ROW ...
- 初次安装Ubuntu后的若干配置步骤
第一步,安装VMware-tools 按照如下提示安装 首先将压缩包,复制到/home 目录下,将其解压,执行./vmware-install.pl即可 第二步,配置使linux能上网 首先将ubun ...
- django后台admin csv 格式表格导出
1.在app下新建一个.py文件 此例commen.py commen.py (内容)(具体怎么导出的也不知道这么写就对了) import csv from django.http import H ...
- C++_注释、枚举、typedef
#include<iostream> //using namespace std; int main() { /* ************************************ ...
- Django请求生命周期
生命周期: 指浏览器访问开始,经过Django都发生了什么 ? 1 首先客服端发送http请求,把请求体(请求头和请求内容)生成 2 服务器接收请求后,根据路由映射表一个一个匹配.匹配成功后,后面不匹 ...
- 【转】STM32 不占用定时器(包括SysTick)实现精确延时(巧用DWT)
/** ****************************************************************** * file core_delay.c * author ...
- python安装selenium和下载浏览器驱动
1.安装selenium 方法一:可以用在cmd中用pip命令安装. python默认自带pip工具,如果在电脑上配置了pip的环境变量,打开cmd命令窗口后可以直接输入命令pip insta ...
- [Flutter] 因为不讲这个重点, 全网所有 flutter 实战视频沦为二流课程
二流课程也有其存在的价值,看到不同组件的轮流使用也是不断熟悉的过程,不过太眼花缭乱了. 授人以渔,基础用法是其一,讲清套路是其二,不然坑萌新. 那么 flutter 的套路是什么呢,我认为有下面几点: ...