Python与数据库交互:华为云大数据中台的SQLite操作
需积分: 32 108 浏览量
更新于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》中的一部分,全书还涵盖了更多关于数据结构、字符串、数字日期和时间、迭代器与生成器等主题的实用技巧和方法。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-08-28 上传
2009-02-11 上传
2021-09-22 上传
2024-01-03 上传
2024-04-24 上传
2024-03-17 上传
刘看山福利社
- 粉丝: 34
- 资源: 3875
最新资源
- 开源linux时代第四期杂志
- 微机原理与接口技术复习题
- VB与MATLAB混合编程
- matcom 函数(matlab与vc的混编)
- ORACLE 数据库管理员日常操作指南
- GIS坐标系统描述。。。。
- MyEclipse6.0中文完整教程
- 汇编语言指令合集(txt)
- 高质量c++编程,高质量c++编程
- Intel80c51以及51系列单片机
- 8051初学实验教程系列一
- hibernate与webservice结合使用
- MyEclipse_Install_Uninstall_Quickstart
- MyEclipse_HTML_JSP_Web_Designer_Quickstart
- ASP.NET-XML深入编程技术
- MyEclipse_HTML_Editing_Quickstart