数据库基础学习之python操作mysql,redis数据库

小知识点:

Mysql的特点:
mysql 事务: 他是一个操作序列 ,这个操作要么都执行,要么都不执行,
他是不可分割的工作单位

  举例:从寒沙支付宝账户中减去2000元    -2000
         在父母支付宝账户中加上2000元    +2000
         这两个操作同时执行,不可分割。可避免服务器突然崩掉,
         只有寒沙减去2000元,而父母没有加2000元的意外。
         
         事务具有四大特性:
         1.原子性:一个事务是一个不可分割的工作单位,要么都成功,要么都失败
         2.一致性: 事务开始之前和事务结束之后,数据库的完整性没有被破坏掉
         3.隔离性: 一个事务所做的修改在提交之前,对其他的事务是不可见的
         4.持久性: 一旦事务提交 ,所做的修改永久的保存在数据库当中
         
    开始事务 : begin
    
    提交:commit
    
    回滚:rollback  相当于还原,在事物里撤销上一次操作。
    	(但注意:是对数据的操作才能回滚,如果是对表结构的操作,比如删除表等,就不可以回滚)

Python与数据库交互

1.DB-API:(DB是data;API是方法,接口)

Python与数据库的交互:

在没有AD-API之前,各数据库之间的应用接口非常混乱,实现各不相同,如果项目需要更换数据库,基本上需要把所有和数据库相关的代码都进行改动,十分不方便。

AD-API:

AD-API的出现就是为了解决这个问题,python所有的数据库接口在一定程度上都遵守python AD-API规范,它定义了一系列的操作数据库的方式,为各种数据库提供了一致的访问接口,项目中更换使用数据库变得更加方便。

2.MySQL:(端口是3306)

(1)连接mysql:

db_config = {  

		  ‘host’:’ip’, 

		    ‘port’:port, 

		   'user': '账号', 

		   'password': '密码',                        不是utf-8

		   'db': '数据库名',   

		 'charset': 'utf8',

}

使用命令: conn = pymysql.connect(**db_config)

(2)MySQL:

在这里插入图片描述

(3)使用步骤:

1.导入模块:  import pymysql



2.建立连接:pymysql.connect(**dbconfig)

						连接是不能操作数据库的,需要用连接生成游标来操作



3.创建游标: connection.cursor()



4.执行SQL语句:cursor.execute(sql)

			SQL语句都是通过这个方法执行



5.获取结果:cur.fetchall()

4.注意要点:

1.在pymysql中执行的SQL语句不需要加 ;

2.execute执行完后不是直接得到结果,需要你主动去获取

3.和文件一样,别忘了关闭游标与连接

4.事务的回滚和提交           -------------------->    rollbck 与commit

在这里插入图片描述
在这里插入图片描述

3.Redis:

在python中操作redis的命令和命令行的用户几乎一模一样



1.安装python包redis: pip install redis 



2.连接redis:redis.Redis()			为了兼容旧版本(不推荐使用)



3.连接redis:Redis.StrictRedis()



4.在程序操作的数据为bytes类型,加入decode_responses=True,写入的数据为str类型
发布了22 篇原创文章 · 获赞 31 · 访问量 900

猜你喜欢

转载自blog.csdn.net/qq_44907926/article/details/104528135