Python连通各类数据库实例:SQLAlchemy与多种数据源
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等数据库。通过这些实例代码,读者可以了解基本的数据库操作,为进一步学习和项目实践打下基础。
261 浏览量
675 浏览量
669 浏览量
408 浏览量
199 浏览量
点击了解资源详情
299 浏览量
314 浏览量
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
weixin_38599430
- 粉丝: 0
最新资源
- Windows CE开发与嵌入式Linux资料概览
- Borland PME模型:属性、方法和事件
- Oracle全文检索技术深度解析
- 使用PHP接口实现与Google搜索引擎交互
- .Net框架中的Socket编程基础
- C#编程进阶指南:对象思考与核心技术
- Visual C# 中的MDI编程实践
- C语言数值计算:经典教程与源码解析
- TCP/IP协议下的Socket基础与进程通信解决策略
- Java学习经验分享:动态加载与类查找原理探索
- Oracle 1z0-031 认证考试试题与学习指南
- EJB3基础教程:元数据批注与EntityBean解析
- 深入理解Hibernate 3.x过滤器:参数化与灵活性提升
- Eclipse+MyEclipse集成:Struts+Spring+Hibernate开发用户信息查询示例
- Visual C#数据库编程基础:浏览、修改、删除与插入
- 基于小波变换的图像边缘检测Matlab代码实现