Python标准库之数据库 sqlite3

下面是Python标准库之数据库sqlite3的完整攻略。

什么是sqlite3

SQLite是一个嵌入式的、轻量级的关系型数据库管理系统,它不需要单独的服务器进程或操作系统进程来运行。同时SQLite数据库文件可以在不同操作系统平台之间共享和使用。sqlite3是Python内置的一个轻量级数据库模块,支持大多数常规的SQL语句和操作,可以用于Python和SQLite交互。

安装sqlite3

Python自带sqlite3模块,不需额外安装

使用sqlite3模块

使用sqlite3模块需要先导入它,导入的方式如下:

import sqlite3

创建数据库连接

在进行sqlite3数据库操作之前,首先要连接到数据库,具体的连接方式和操作如下:

# 创建数据库连接
db_conn = sqlite3.connect('example.db')

这里我们创建了一个example.db的SQLite数据库连接,如果文件不存在,则会自动创建一个。

创建游标(cursor)

创建一个游标(cursor)对象,通过游标对象可以对数据库进行读写操作。

# 创建游标
cursor = db_conn.cursor()

数据库操作

通过游标对象执行SQL语句完成各种操作。

创建表格

创建表格需要编写一个SQL语句,例如:

# 创建表格,语句省略创建其他列
cursor.execute('''CREATE TABLE IF NOT EXISTS COMPANY 
                (ID INT PRIMARY KEY NOT NULL,
                NAME TEXT NOT NULL,
                AGE INT NOT NULL,
                ADDRESS VARCHAR(50),
                SALARY REAL);''')

这里创建了一个名为COMPANY的表格,包含五个列IDNAMEAGEADDRESSSALARY分别表示ID、姓名、年龄、地址和薪水。其中ID为主键,不为空。

插入数据

# 插入数据
cursor.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Paul', 32, 'California', 20000.00)")

这里插入了一条数据,表示ID为1,姓名为Paul,年龄为32,地址为California,薪水为20000.00。

查询数据

查询数据需要编写SQL语句,例如:

# 查询数据
cursor.execute("SELECT * FROM COMPANY")
result = cursor.fetchall()
print(result)

这里查询了COMPANY表格中的所有数据并打印出来,结果如下:

[(1, 'Paul', 32, 'California', 20000.0)]

更新数据

# 更新数据
cursor.execute("UPDATE COMPANY SET SALARY = 25000 WHERE ID=1")

这里将ID为1的数据的薪水修改为25000.00。

删除数据

# 删除数据
cursor.execute("DELETE FROM COMPANY WHERE ID=1")

这里删除了ID为1的数据。

关闭连接

进行完数据库操作后,需要关闭数据库连接。

# 关闭游标和连接
cursor.close()
db_conn.close()

示例说明

以下是两个示例说明。

示例一:插入数据并查询数据

import sqlite3

# 创建连接
db_conn = sqlite3.connect('example.db')

# 创建游标
cursor = db_conn.cursor()

# 插入数据
cursor.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2, 'Tom', 21, 'New York', 15000.00)")

# 查询数据
cursor.execute("SELECT * FROM COMPANY")
result = cursor.fetchall()
print(result)

# 关闭游标和连接
cursor.close()
db_conn.close()

上述代码插入了一条数据,表示ID为2,姓名为Tom,年龄为21,地址为New York,薪水为15000.00。接着查询COMPANY表格中的所有数据并打印结果,得到以下输出:

[(2, 'Tom', 21, 'New York', 15000.0)]

示例二:创建表格并插入数据

import sqlite3

# 创建连接
db_conn = sqlite3.connect('example.db')

# 创建游标
cursor = db_conn.cursor()

# 创建表格
cursor.execute('''CREATE TABLE IF NOT EXISTS STUDENT 
                (ID INT PRIMARY KEY NOT NULL,
                NAME TEXT NOT NULL,
                AGE INT NOT NULL,
                CLASS TEXT NOT NULL);''')

# 插入数据
cursor.execute("INSERT INTO STUDENT (ID,NAME,AGE,CLASS) VALUES (1, 'Lisa', 19, 'Class 1')")

# 查询数据
cursor.execute("SELECT * FROM STUDENT")
result = cursor.fetchall()
print(result)

# 关闭游标和连接
cursor.close()
db_conn.close()

上述代码创建了一个名为STUDENT的表格,包含四个列IDNAMEAGECLASS分别表示学号、姓名、年龄、班级。其中ID为主键,不为空。接着插入了一条数据,表示学号为1,姓名为Lisa,年龄为19,班级为Class 1。最后查询STUDENT表格中的所有数据并打印结果,得到以下输出:

[(1, 'Lisa', 19, 'Class 1')]

以上就是Python标准库之数据库sqlite3的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python标准库之数据库 sqlite3 - Python技术站

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

相关文章

  • Linux中文件系统truncate.c详解

    Linux中文件系统truncate.c详解 什么是truncate.c文件 truncate.c文件是Linux内核中负责处理文件截断操作的核心文件。其主要功能是截断指定文件的长度,可以对文件进行缩短或扩展。在Linux系统的文件系统中,文件截断操作是文件的常用操作之一。 truncate.c文件操作示例 1. 文件截断操作 truncate.c文件主要包…

    C 2023年5月24日
    00
  • C语言编程入门必背的示例代码整理大全

    您好,关于“C语言编程入门必背的示例代码整理大全”的完整攻略,以下是详细讲解: 概述 此文档旨在为初学者提供C语言编程入门示例代码整理大全,内容包括语法基础、数组指针、结构体等知识点。示例代码将以最简单易懂的方式呈现,并加入详细注释,以帮助初学者更好地理解和学习。 语法基础 Hello World #include <stdio.h> int m…

    C 2023年5月23日
    00
  • C语言一定要匹配指针类型

    C语言指针类型详解与使用攻略 在C语言中,指针是非常重要的一个概念,它是一种特殊的数据类型,用于存储地址。而指针类型则是指针所指向的数据类型。在C语言中,指针的类型与它所指向的数据类型必须匹配,这是C语言的一项重要特性。 为何要匹配指针类型? 指针类型的匹配在C语言中是非常重要的,原因如下: 安全性:如果指针类型和它所指向的数据类型不匹配,会导致数据类型的错…

    C 2023年5月9日
    00
  • php使用curl判断网页404(不存在)的方法 原创

    下面是关于“php使用curl判断网页404(不存在)的方法”的完整攻略。 使用curl判断网页是否存在 我们可以使用curl来访问网页,并判断网页是否存在。如果网页存在,我们会得到一个HTTP状态码200;如果网页不存在,则会得到HTTP状态码404。 以下是使用curl的方法的示例: function checkPageExist($url){ $ch …

    C 2023年5月23日
    00
  • java使用FastJson解析Json数据

    当我们需要在Java应用程序中处理JSON数据时,我们可以使用一个轻量级、高效的JSON库——FastJson。FastJson是阿里巴巴公司推出的一款高效的JSON处理工具,它具有易用性、快速性和智能型等特点。本文将详细介绍如何使用FastJson解析JSON数据。 安装和导入FastJson 我们可以通过Maven或手动下载和导入FastJson库。这里…

    C 2023年5月23日
    00
  • c病毒程序原理分析(防范病毒 c语言小病毒示例)

    这篇文章主要是讲解如何防范病毒及 c 语言小病毒示例,文章中包含两条示例说明。 标题 C 病毒程序原理分析 正文 病毒是计算机领域中的一种非常危险的电脑程序,可以通过复制自身的方式感染计算机,破坏计算机系统的正常运行。在这篇文章中,我们将简单介绍 C 病毒程序的原理以及如何防范此类病毒。 防范病毒 升级防病毒软件:使用强大的防病毒软件可以有效的保护计算机系统…

    C 2023年5月23日
    00
  • 终于把淘宝SEO相关概念讲明白了 淘宝常用名词解读

    终于把淘宝SEO相关概念讲明白了 淘宝常用名词解读 什么是淘宝SEO? 淘宝SEO是指通过淘宝搜索引擎优化技术,提升淘宝店铺和商品在淘宝内部搜索结果页的排名,增加店铺和商品的曝光率和销售额的过程。 在实际操作中,淘宝SEO主要包括优化关键词、优化描述、提高转化率等方面。通过细节优化,使得店铺和商品更符合用户搜索习惯和需求。 淘宝常用名词解读 1. 关键词 关…

    C 2023年5月22日
    00
  • 我叫MT经典242水队VS五龙连牙地狱级 图文攻略详解

    我叫MT经典242水队VS五龙连牙地狱级 图文攻略详解 前言 在热血沸腾的《我叫MT》手游中,五龙连牙地狱级是一个很有挑战性的BOSS。为了帮助玩家顺利通关,本文提供了一份详细的攻略,供大家参考。本文重点介绍了242水队的打法,并提供了两个示例。 队伍搭配 242水队由两个坦克,三个输出和一个奶妈组成。阵容如下: 英魂死神(坦克,推荐2号位) 嗜血狂魔(坦克…

    C 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部