Python与数据库交互:华为云大数据中台的SQLite操作
需积分: 32 162 浏览量
更新于2024-08-08
收藏 5.68MB PDF 举报
"这篇文档是关于如何在Python中与关系型数据库进行交互的,主要以华为云大数据中台架构为背景,介绍了使用Python标准库sqlite3模块与SQLite数据库的连接和操作方法。文档出自《Python Cookbook》中文版,涵盖了Python在数据库操作中的常见技巧和方法。"
在Python中,与关系型数据库交互主要遵循PEP249(Python Database API Specification v2.0),这定义了Python标准数据库API。文档中提到,多行数据通常用一个由元组组成的序列来表示,例如股票数据。你可以使用`sqlite3`模块来连接和操作SQLite数据库,如果需要操作其他类型的数据库(如MySQL、PostgreSQL或ODBC),则需要相应的第三方模块。
首先,要连接到数据库,需要调用`sqlite3.connect()`函数,并传入数据库的名称,如'(database.db)'。这会返回一个数据库连接对象,如`db`。接着,创建一个游标`c = db.cursor()`,游标是执行SQL命令的接口。然后,你可以使用游标执行`execute()`方法来创建表,例如:
```python
c.execute('create table portfolio (symbol text, shares integer, price real)')
```
执行SQL命令后,通常需要调用`commit()`方法来提交事务,确保数据的持久化。对于插入多条记录,可以使用类似以下的SQL插入语句:
```python
symbols = ['GOOG', 'AAPL', 'FB', 'HPQ']
shares = [100, 50, 150, 75]
prices = [490.1, 545.75, 7.45, 33.2]
rows = [(symbol, shares, price) for symbol, shares, price in zip(symbols, shares, prices)]
c.executemany('insert into portfolio values (?, ?, ?)', rows)
db.commit()
```
除了基本的连接、创建表和插入数据,Python还支持查询、更新和删除操作,这些都可以通过SQL语句实现,并通过游标对象执行。例如,查询所有记录:
```python
c.execute('select * from portfolio')
rows = c.fetchall()
for row in rows:
print(row)
```
或者更新特定记录:
```python
c.execute("update portfolio set shares = 125 where symbol = 'GOOG'")
db.commit()
```
删除记录:
```python
c.execute("delete from portfolio where symbol = 'HPQ'")
db.commit()
```
Python提供了简单而强大的工具来处理关系型数据库,无论是在大数据处理还是常规的数据操作中,都能够有效地与数据库进行交互。这个文档片段只是《Python Cookbook》中的一部分,全书还涵盖了更多关于数据结构、字符串、数字日期和时间、迭代器与生成器等主题的实用技巧和方法。
刘看山福利社
- 粉丝: 34
- 资源: 3877
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器