Python中的数据库处理

在我们所处的信息时代,我们可以看到世界正在交换多少数据。 基本上,我们正在广泛地创建,存储和检索数据! 应该有一种方法来处理所有这些问题-没有任何管理就无法将其传播到各处,对吗? 这是数据库管理系统(DBMS)。

DBMS是一个软件系统,使您可以创建,存储,修改,检索和以其他方式处理数据库中的数据。 此类系统的大小也有所不同,从仅在您的个人计算机上运行的小型系统到在大型机上运行的大型系统。

我们在本教程中的重点是Python,而不是数据库设计。 是的,Python具有与数据库进行交互的出色能力,这就是本教程要向您介绍的内容。

让我们开始吧!

Python数据库API

如上所述,Python能够与数据库进行交互。 但是,它怎么办呢? Python使用所谓的Python数据库API来与数据库接口。 该API使我们可以对不同的数据库管理系统(DBMS)进行编程。 但是,对于那些不同的DBMS,在代码级别遵循的过程是相同的,如下所示:

  1. 建立与您选择的数据库的连接
  2. 创建一个游标以与数据进行通信。
  3. 使用SQL处理数据( interact )。
  4. 告诉连接将SQL操作应用于数据并使其永久化( commit ),或者告诉它中止这些操作( rollback ),从而将数据返回到发生交互之前的状态。
  5. 关闭与数据库的连接。

SQLite的

SQLite是一个开源的,功能齐全的,自包含的(几乎不需要外部库的支持),无服务器的(不需要服务器在其上运行数据库引擎,并且是本地存储的数据库),零配置(没有任何配置)安装或配置),基于SQL的轻量级数据库管理系统(可以在SQLite表上运行SQL查询),并使用一个数据文件来存储数据。

令人高兴的是,SQLite已被Google,Apple,Microsoft等大型公司使用,这使其非常可靠。 在本教程中,我们将使用SQLite与数据库进行交互,更具体地说,将使用Python中的sqlite3模块

Python和SQLite

如上所述,使用数据库涉及五个主要步骤。 让我们来看一下这些步骤。

1.建立与您选择的数据库的连接

此步骤实现如下:

conn = sqlite3.connect('company.db')

sqlite3文档中所述:

要使用该模块,必须首先创建一个代表数据库的Connection对象。

在上面的代码中,请注意数据将存储在文件company.db

2.创建一个游标与数据进行通信

使用数据库的下一步是创建游标 ,如下所示:

curs = conn.cursor()

3.使用SQL处理数据

连接数据库并创建游标后,我们现在可以处理(交互)数据了。 换句话说,我们现在可以在数据库company.db上运行SQL命令。

假设我们要在数据库company创建一个新的表employee 。 在这种情况下,我们需要运行一个SQL命令。 为了做到这一点,我们将使用sqlite3模块的execute()方法。 因此,Python语句如下所示:

curs.execute('create table employee(name, age)')

该语句将运行一个SQL命令,该命令将创建一个名为employee的表,该表具有两列(字段) nameage

现在,我们可以运行一个新的SQL命令,该命令将在表中插入数据,如下所示:

curs.execute("insert into employee values ('Ali', 28)")

您还可以一次插入多个值,如下所示:

values = [('Brad',54), ('Ross', 34), ('Muhammad', 28), ('Bilal', 44)]

在这种情况下,我们将使用方法executemany()来执行上述多个值,而不是使用execute()方法。

curs.executemany('insert into employee values(?,?)', values)

4.提交更改

在这一步中,我们要应用(提交)在上一步中所做的更改。 只需按以下步骤完成:

conn.commit()

5.关闭与数据库的连接

执行完操作并提交更改后,最后一步是关闭连接:

conn.close()

让我们将所有步骤放到一个脚本中。 该程序如下所示(注意,我们必须先导入 sqlite3模块):

import sqlite3
conn = sqlite3.connect('company.db')
curs = conn.cursor()
curs.execute('create table employee (name, age)')
curs.execute("insert into employee values ('Ali', 28)")
values = [('Brad',54), ('Ross', 34), ('Muhammad', 28), ('Bilal', 44)]
curs.executemany('insert into employee values(?,?)', values)
conn.commit()
conn.close()

如果运行脚本,则应在当前目录中获得一个名为company.db的文件。 下载此文件,因为我们将在下一步中使用它。

让我们浏览数据库

创建了数据库,表并添加了一些数据之后,让我们看看company.db (在上一节中下载的文件)内部的内容。 为此,我们将使用一个很好的工具: DBite for SQLite 。 继续并在您的计算机上下载该工具。 打开程序后,您将获得一个如下所示的屏幕:

SQLite主屏幕的数据库浏览器

使用顶部的“ 打开数据库”按钮打开数据库 ,在这种情况下,您应该获得“ 数据库结构” ,如下所示:

SQLite数据库结构的DB浏览器屏幕

注意,我们列出了表employee ,其中有两个字段nameage

为了确认上面的代码可以正常工作并将数据添加到表中,请单击“ 浏览数据”选项卡。 您应该看到类似以下的内容:

SQLite的数据库浏览器的“浏览数据”选项卡

因此,如您所见,已经创建了数据库( company )和表( employee ),并且数据已成功添加到表中。

本教程是从零开始的入门知识,可帮助您开始使用Python处理数据库。 您可以从sqlite3模块中了解更多方法,在该模块中,您可以执行不同的数据库操作,例如更新和查询数据库。 玩得开心!

翻译自: https://code.tutsplus.com/tutorials/database-handling-in-python--cms-25645

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值