06 python操作MySQL和redis(进阶)

python操作mysql、redis

阶段一、mysql事务

主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!

事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。

事务用来管理 insert、update、delete 语句

事务必须满足4个条件(ACID):原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。

原子性:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。

一致性:在事务开始之前和事务结束以后,数据库的完整性没有被破坏。

隔离性:数据库允许多个并发事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。

持久性:事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。

start transaction;    # 开启事务
?
# 插入数据
insert into account value(1, 1000);
?
commit;  # 提交事务
?
rollback;  # 回滚
阶段二、python操作mysql
pip install pymysql
pip install redis
workon py3env
?
cd /etc/mysql/mysql.conf.d/
sudo vim mysqld.cnf
?
0.0.0.0     # 所有的ip都能访问
127.0.0.1   # 只有本地能访问
?
cd /etc/redis/
sudo vim redis.conf
?
虚拟机解释器不需要改端口,直接填 3306 6379

# 要操作数据库,首先就要建立和数据库的连接,配置pymysql.connect连接数据库:
con = pymysql.connect(
    host = ‘主机‘,
    port = 端口,
    user = ‘用户名‘,
    password = ‘密码‘,
    db = ‘数据库名‘,
    charset = ‘utf8‘
)
print(con)
?
# 定义游标
cursor = con.cursor()
cursor.execute(‘show databases‘)        #执行sql
one = cursor.fetchone()              #取出一条数据
all = cursor.fetchall()              #取出所有数据
print(one)
print(all)
?
# 建表
tb = ‘‘‘
create table tb(
id int primary key auto_increment,
name char(10))
‘‘‘
cur.execute(tb)
?
# 插入
row = cursor.execute("insert into test(name,sex) values(%s,%s)", (‘shiwei‘,‘male‘))
?
#  更新
row = cursor.execute(“update test set name= ‘张三‘ where id = %s", (2,))
?
#  删除
cursor.execute(‘delete from user where id=%s ‘,(1,) )
?
# 关闭连接
# 事务,数据改动的时候
cur.execute(‘commit‘)
con.commit()    #提交事物
cursor.close()  #关闭游标
con.close()     # 关闭连接
?
## 联合查询
union = ‘‘‘
select  s.name, c.name,d.name  from  `student` s
left join `select` se on se.s_id = s.s_id
left join course  c on se.c_id = c.id
left join department d on s.dept_id = d.id
ORDER BY s.name;
‘‘‘
# cursor.execute(union)
# find =cursor.fetchall()
阶段三、python操作redis

1、模块安装

pip install redis

2、基本操作

# 创建连接
re = redis.Redis(host=‘127.0.0.1‘, port=‘55555‘)
## 测试
re.set(‘num‘,15)
print(re.get(‘num‘))
?
## set 中文
re.set(‘name‘,‘张三‘)
print(re.get(‘name‘).decode(‘utf8‘) )
?
### 大部分的命令 和 redis 中操作一样
不同:
re.expire(‘user_name‘, 20)  # 添加过期时间
re.ttl(‘user_name‘)       ### 不能看 负数 -1    -2
re.mset(a=1, b=2)         ##  用键值对 mget a b
re.incr(‘read_count‘)        ## incr   可以加参数,代替了 incrby  get read_count
re.decr()        ## decr   可以加参数,代替了 decrby
?
lrange list_1 0 -1
lpush list_1  2 3 4 5 3
re.lrem(‘list_1‘, 3, 0)        ## num 放到后面
re.hmset()       # 多插入,用字典
re.hmset(‘users‘, {‘name‘: ‘shiwei‘, ‘age‘: 18})

原文地址:https://www.cnblogs.com/zcmq/p/9275804.html

时间: 2024-11-06 09:50:46

06 python操作MySQL和redis(进阶)的相关文章

Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. Memc

Python操作Mysql实例代码教程在线版(查询手册)_python

实例1.取得MYSQL的版本 在windows环境下安装mysql模块用于python开发 MySQL-python Windows下EXE安装文件下载 复制代码 代码如下: # -*- coding: UTF-8 -*- #安装MYSQL DB for pythonimport MySQLdb as mdb con = None try:    #连接mysql的方法:connect('ip','user','password','dbname')    con = mdb.connect('

python操作mysql ------- SqlAchemy正传

本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 下载安装 pip3 install pymysql 使用操作 1.执行SQL #!/usr/bin/env python # -*- coding:utf-8 -*- import pymysql # 创建连接 conn = pymysql.connect(host='127.0.0.1

python操作mysql数据库

连接数据库 输入值 存入数据库 关闭 import string import mysql.connector conn=mysql.connector.connect(user='root',password='test',database='dalian',use_unicode=True) cursor=conn.cursor() a=raw_input('enter an id: ') b=raw_input('enter a name: ') while(a!='quit' or b!

python操作MySQL

本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 下载安装 ? 1 pip3 install pymysql 使用操作 1.执行SQL + ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #!/usr/bin/env python # -*-

Windows下安装MySQLdb, Python操作MySQL数据库的增删改查

这里的前提是windows上已经安装了MySQL数据库,且配置完毕,能正常建表能操作.在此基础上只需安装MySQL-python-1.2.4b4.win32-py2.7.exe就ok了,只有1M多.这个有点类似jdbc里的那个jar包. 下载链接:http://sourceforge.net/projects/mysql-python/ , 百度云盘 :http://pan.baidu.com/s/1dDgnfpR 密码:7bna 接着import MySQLdb就能使用了,下面给出测试代码:

使用python操作mysql数据库

这是我之前使用mysql时用到的一些库及开发的工具,这里记录下,也方便我查阅. python版本: 2.7.13 mysql版本: 5.5.36 几个python库 1.mysql-connector-python 是MySQL官方的Python驱动 https://dev.mysql.com/doc/connector-python/en/ 安装: pip install mysql-connector 示例代码: https://github.com/mike-zhang/pyExample

Python开发【第十四篇】:Python操作MySQL

本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 下载安装 pip3 install pymysql 使用操作 1.执行SQL #!/usr/bin/env python # -*- coding:utf-8 -*- import pymysql # 创建连接 conn = pymysql.connect(host='127.0.0.1

Python操作Mysql基础教程

Python操作Mysql 最近在学习python,这种脚本语言毫无疑问的会跟数据库产生关联,因此这里介绍一下如何使用python操作mysql数据库.我python也是零基础学起,所以本篇博客针对的是python初学者,大牛可以选择绕道. 另外,本篇博客基于的环境是Ubuntu13.10,使用的python版本是2.7.5. MYSQL数据库 MYSQL是一个全球领先的开源数据库管理系统.它是一个支持多用户.多线程的数据库管理系统,与Apache.PHP.Linux共同组成LAMP平台,在we