Python连通各类数据库实例:SQLAlchemy与多种数据源

3 下载量 196 浏览量 更新于2024-08-29 收藏 78KB PDF 举报
本文档详细介绍了如何使用Python连接主流的数据库系统,包括关系型数据库和非关系型数据库。首先,我们来看关系数据库的例子,这里以SQLite为例。 在Python中,SQLite是一个轻量级的关系型数据库管理系统,无需服务器运行,适用于小型应用。作者使用`sqlite3`模块来连接SQLite数据库。代码片段展示了如何通过`connect()`函数建立连接,以及如何处理可能存在的表不存在的情况。例如,如果`Company`表不存在,会先尝试创建: ```python import sqlite3 try: conn = sqlite3.connect('test.db') print("Opened database successfully") except sqlite3.Error as e: print("Error while connecting to SQLite: ", e) traceback.print_exc() ``` 接着,作者演示了如何执行SQL命令,如创建表、删除表和插入数据: 1. 使用`execute()`方法执行SQL语句创建表: ```sql CREATE TABLE IF NOT EXISTS COMPANY ( ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL ); ``` 2. 插入多条数据到`COMPANY`表: ```python conn.execute("INSERT INTO COMPANY (NAME, AGE, ADDRESS, SALARY) VALUES (?, ?, ?, ?)", [('Paul', 32, 'California', 20000.00), ('Allen', 25, 'Texas', 15000.00), ...]) ``` 关系数据库部分还可能涉及查询、更新等操作,但此处并未展示。 接下来,文档转向非关系型数据库,例如MongoDB和Redis。MongoDB是一种流行的文档型数据库,而Redis则是一种键值对存储系统,它们的连接方式和API与关系型数据库有所不同。在Python中,可以使用`pymongo`库连接MongoDB,`redis`库连接Redis。 对于MongoDB,需要安装`pymongo`,然后使用`MongoClient`进行连接,并进行数据操作,如读取、写入文档: ```python from pymongo import MongoClient client = MongoClient('mongodb://localhost:27017/') db = client['database_name'] collection = db['collection_name'] ``` 对于Redis,连接和操作通常涉及`redis.Redis`类,例如设置/获取键值、发布/订阅消息等: ```python import redis r = redis.Redis(host='localhost', port=6379, db=0) r.set('key', 'value') value = r.get('key') ``` 这篇博客提供了一个实用的指南,展示了Python如何连接和操作SQLite、MySQL、MS SQL(可能需要额外的Python库如`pyodbc`)、MongoDB和Redis等数据库。通过这些实例代码,读者可以了解基本的数据库操作,为进一步学习和项目实践打下基础。