任何的编程语言都不能绕开对于数据库的调用和操作,不然它就不能广泛被使用,今天就来讨论一下Python对于两种数据库的调用和操作。
mysql和redis的区别
1.mysql和redis的数据库类型
mysql是关系型数据库,主要用于存放持久化数据,将数据存储在硬盘中,读取速度较慢。
redis是NOSQL,即非关系型数据库,也是缓存数据库,即将数据存储在缓存中,缓存的读取速度快,能够大大的提高运行效率,但是保存时间有限
2.mysql的运行机制
mysql作为持久化存储的关系型数据库,相对薄弱的地方在于每次请求访问数据库时,都存在着I/O操作,如果反复频繁的访问数据库。第一:会在反复链接数据库上花费大量时间,从而导致运行效率过慢;第二:反复的访问数据库也会导致数据库的负载过高,那么此时缓存的概念就衍生了出来。
3.缓存
缓存就是数据交换的缓冲区(cache),当浏览器执行请求时,首先会对在缓存中进行查找,如果存在,就获取;否则就访问数据库。
缓存的好处就是读取速度快
4.redis数据库
redis数据库就是一款缓存数据库,用于存储使用频繁的数据,这样减少访问数据库的次数,提高运行效率。
5.redis和mysql的区别总结
(1)类型上
从类型上来说,mysql是关系型数据库,redis是缓存数据库
(2)作用上
mysql用于持久化的存储数据到硬盘,功能强大,但是速度较慢
redis用于存储使用较为频繁的数据到缓存中,读取速度快
(3)需求上
mysql和redis因为需求的不同,一般都是配合使用。
Python对于mysql的操作
创建数据表
import pymysql
#1.连接数据库 host user passwd charset
conn = pymysql.connect(host=‘localhost’,
user=‘root’,
password=‘redhat’,
db=‘westos’,
charset=‘utf8’
)
#2.创建游标对象
cur = conn.cursor()
#3.对数据库进行操作
###################创建数据表########################
try:
create_sqli = “create table hello (id int,name varchar(30));”
print(cur.execute(create_sqli))
except Exception as e:
print(‘创建数据表失败:’,e)
else:
print(‘创建数据表成功’)