📜  Python -NoSQL数据库(1)

📅  最后修改于: 2023-12-03 15:33:57.581000             🧑  作者: Mango

Python - NoSQL数据库

NoSQL是现代互联网应用程序的主要数据库类型。Python是一种强大的编程语言,提供了许多优秀的NoSQL数据库接口和驱动程序。本文将介绍Python中流行的NoSQL数据库和它们的接口。

MongoDB

MongoDB是流行的文档数据库,它存储类似于JSON文档的数据。Python提供了pymongo驱动程序作为与MongoDB交互的标准工具。以下是pymongo的基本用法:

import pymongo

# 连接到MongoDB数据库
client = pymongo.MongoClient('mongodb://localhost:27017/')

# 选择数据库
db = client['mydatabase']

# 选择集合
collection = db['mycollection']

# 插入文档
doc = {'name': '王二麻子', 'age': 35}
result = collection.insert_one(doc)
print(result.inserted_id)

# 查询文档
result = collection.find_one({'name': '王二麻子'})
print(result)
Redis

Redis是流行的键值存储数据库,它可以用于缓存和持久存储。Python提供了redis模块作为与Redis交互的标准工具。以下是redis模块的基本用法:

import redis

# 连接到Redis数据库
r = redis.Redis(host='localhost', port=6379, db=0)

# 设置键值对
r.set('name', '王二麻子')
print(r.get('name'))

# 存储列表
r.rpush('mylist', 'a', 'b', 'c')
print(r.lrange('mylist', 0, -1))

# 存储集合
r.sadd('myset', 'a', 'b', 'c')
print(r.smembers('myset'))
Cassandra

Cassandra是流行的列式数据库,它可以分布式地存储大量数据。Python提供了cassandra驱动程序作为与Cassandra交互的标准工具。以下是cassandra驱动程序的基本用法:

from cassandra.cluster import Cluster

# 连接到Cassandra集群
cluster = Cluster(['localhost'])
session = cluster.connect()

# 创建键空间和表
session.execute("""
    CREATE KEYSPACE mykeyspace 
    WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '3'}
""")
session.execute("""
    CREATE TABLE mykeyspace.mycolumnfamily (
        id uuid PRIMARY KEY, 
        name text
    )
""")

# 插入行
session.execute("""
    INSERT INTO mykeyspace.mycolumnfamily (id, name) 
    VALUES (uuid(), '王二麻子')
""")

# 查询行
rows = session.execute("""
    SELECT * FROM mykeyspace.mycolumnfamily 
    WHERE name='王二麻子'
""")
for row in rows:
    print(row.name)

总结

Python提供了许多出色的NoSQL数据库接口和驱动程序。 MongoDB,Redis,Cassandra是三种非常流行的NoSQL数据库。使用Python的这些数据库驱动程序,我们可以方便地与不同类型的NoSQL数据库进行交互和管理。