Python 如何操作 SQLite 数据库

让我们来详细讲解下 Python 如何操作 SQLite 数据库的完整攻略。

简介

SQLite 是一种轻量级的关系型数据库,可以嵌入到各种应用程序中,支持多种操作系统,是移动应用和桌面应用的理想选择。Python 代码就可以操作 SQLite 数据库,无需像 MySQL, PostgreSQL 这样的数据库一样需要一个服务进程。本文将讲解如何通过 Python 操作 SQLite 数据库。

安装

使用 Python 操作 SQLite 需要先安装 SQLite3 这个模块,可以通过 pip 安装。

pip install pysqlite3

连接SQLite

首先,需要连接到一个 SQLite 数据库。SQLite 的文件类型是 .db 文件。我们首先需要在 SQLite 中创建一个数据库。

import sqlite3

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

在连接 SQLite 数据库时,可以指定需要连接的数据库的路径。如果不存在该文件,则会自动创建该文件。可以使用 connect() 方法创建一个数据库连接,如果需要不能修改数据库则需要打开方式为 sqlite3.connect('example.db', isolation_level=None)

创建表

准备数据库和表格,可以使用 execute() 方法创建表。SQLite 中没有任何限制,可以将整数、实数、字符串甚至 BLOB(二进制数据)类型的数据存储到任何列中。我们将创建一个具有名称、年龄和地址的人员数据表。

import sqlite3

conn = sqlite3.connect('example.db')
print("Opened database successfully")

conn.execute('''CREATE TABLE COMPANY
       (ID INT PRIMARY KEY NOT NULL,
       NAME TEXT NOT NULL,
       AGE INT NOT NULL,
       ADDRESS CHAR(50),
       SALARY REAL);''')
print("Table created successfully")

conn.close()

插入数据

现在,我们已经创建了 COMPANY 表,可以在其中插入数据。我们将使用 execute() 方法插入 4 条数据。以下是插入数据的 Python 代码。

import sqlite3

conn = sqlite3.connect('example.db')
print("Opened database successfully")

conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
      VALUES (1, 'Paul', 32, 'California', 20000.00)")

conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
      VALUES (2, 'Allen', 25, 'Texas', 15000.00)")

conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
      VALUES (3, 'Teddy', 23, 'Norway', 20000.00)")

conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
      VALUES (4, 'Mark', 25, 'Rich-Mond', 65000.00)")

conn.commit()
print("Records created successfully")
conn.close()

查询数据

使用 SELECT 语句查询数据。我们可以使用 cursor 对象来查询数据。以下是完整的 Python 代码:

import sqlite3

conn = sqlite3.connect('example.db')
print("Opened database successfully")

cursor = conn.execute("SELECT id, name, address, salary from COMPANY")
for row in cursor:
   print("ID = ", row[0])
   print("NAME = ", row[1])
   print("ADDRESS = ", row[2])
   print("SALARY = ", row[3], "\n")

print("Operation done successfully")
conn.close()

此处,我们只是简单地进行选择动作。您可以使用 WHERE 语句添加更多筛选条件。

以上就是 Python 操作 SQLite 的完整攻略,希望对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 如何操作 SQLite 数据库 - Python技术站

(0)
上一篇 2023年5月21日
下一篇 2023年5月21日

相关文章

  • mysql时间相减如何获取秒值

    如果我们需要计算MySQL中两个日期时间之间的秒数差,那么我们可以使用TIMESTAMPDIFF()函数。TIMESTAMPDIFF()函数的语法格式如下: TIMESTAMPDIFF(unit,datetime1,datetime2) 其中: unit 表示计算时间差的单位,支持以下值: MICROSECOND 微秒 SECOND 秒 MINUTE 分钟 …

    database 2023年5月22日
    00
  • [视频教程] 使用docker的方式安装redis

    直接使用docker拉取redis的镜像,并且进行端口映射与文件目录共享,这样可以直接在宿主机的端口上就可以进行访问了。其实本质上也是在一个简化版的ubuntu的容器内安装好的redis-server服务。 将docker修改为163镜像源在/etc/docker/daemon.json文件中添加下面参数{ “registry-mirrors” : [“ht…

    Redis 2023年4月11日
    00
  • MySQL错误日志(Error Log)详解

    MySQL是一个开源的关系型数据库管理系统,广泛应用于各个领域中。 MySQL错误日志(Error Log)是MySQL数据库日志文件之一,记录了MySQL在运行时所发生的错误和异常信息。MySQL错误日志是MySQL管理员和开发人员诊断和解决问题的重要工具。 本文将详细介绍MySQL错误日志及其使用方法。 MySQL错误日志的类型 MySQL错误日志主要包…

    MySQL 2023年3月10日
    00
  • mysql日常使用中常见报错大全

    MySQL日常使用中常见报错大全 在MySQL日常使用过程中,我们可能会遇到各种各样的错误,这些错误可能由于多方面原因引起,包括表结构不一致、SQL语句错误、数据库连接失败等。下面是常见的MySQL错误以及解决方案。 SQL执行错误 错误1:#1064 – You have an error in your SQL syntax 这个错误通常是由于SQL语法…

    database 2023年5月18日
    00
  • Mysql事物锁等待超时Lock wait timeout exceeded;的解决

    Mysql事物锁等待超时是指在Mysql的事务处理过程中,一个事务因为获取锁等待超时而被阻塞,这种情况会导致事务无法执行而出现异常。下面来详细讲解一下如何解决这个问题。 什么是Mysql事物锁等待超时 MySQL的事务隔离级别是通过锁机制来实现的,这个锁机制包括表级锁和行级锁两种,其中行级锁是通过InnoDB存储引擎来实现的。 当多个事务对同一行记录进行修改…

    database 2023年5月18日
    00
  • java实现文件上传到服务器

    下面我来详细讲解Java实现文件上传到服务器的完整攻略。首先,我们需要了解两种上传文件的方式:使用Servlet API和使用第三方库。 使用Servlet API 使用Servlet API实现文件上传需要依赖于HttpServletRequest和Part对象。具体步骤如下: 1. 在html页面中添加文件上传表单 <form method=&qu…

    database 2023年5月21日
    00
  • php使用PDO获取结果集的方法

    下面是关于PHP使用PDO获取结果集的方法的完整攻略。 一、什么是PDO PDO(PHP Data Objects)是PHP内置的一个轻量级、可扩展的数据访问抽象层,提供了一种统一的方式来访问不同数据库系统的数据。相较于传统的MySQLi,PDO的优势在于它可以访问多种数据库系统,如MySQL、PostgreSQL、Oracle等。 二、PDO获取结果集的方…

    database 2023年5月22日
    00
  • Redis中怎么解决Big Key问题

    这篇文章主要介绍“Redis中怎么解决Big Key问题”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Redis中怎么解决Big Key问题”文章能帮助大家解决问题。 一、什么是Big Key? 通俗易懂的讲,Big Key就是某个key对应的value很大,占用的redis空间很大,本质上是大value问题。key…

    Redis 2023年4月10日
    00
合作推广
合作推广
分享本页
返回顶部