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日

相关文章

  • asp.net(C#)解析Json的类代码

    下面我将详细讲解“asp.net(C#)解析Json的类代码”的完整攻略。 1. 什么是Json? JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于服务器端和Web应用程序之间的数据传输。它基于JavaScript语言的一个子集,易于人们阅读和编写。JSON采用完全独立于编程语言的文本格式来描述数据。 JSO…

    C 2023年5月23日
    00
  • jackson json序列化实现首字母大写,第二个字母需小写

    要实现JSON序列化后首字母大写,第二个字母小写的格式化方式,可以使用Jackson库提供的两种方式,分别是: 自定义JsonSerializer 在类上使用@JsonProperty注解 下面,我们将分别介绍这两种方式的实现。 1. 自定义JsonSerializer 自定义JsonSerializer是一种常见的方式,使用此方法可以允许我们自行控制JSO…

    C 2023年5月23日
    00
  • C语言实现简易订餐系统

    C语言实现简易订餐系统 介绍 本文将详细讲解如何使用C语言实现简易订餐系统的完整攻略。这个简易订餐系统可以让用户选择菜单,订餐,结算和显示账单等功能。 步骤 步骤一:规划程序结构 在实现程序之前,我们可以先规划程序的整体架构,以此确定程序需要实现的功能和模块。我们大致可以将程序分成以下模块: 菜单模块:展示可选菜品列表。 点餐模块:让用户选择菜品和数量。 结…

    C 2023年5月23日
    00
  • 深入了解C++异常处理

    深入了解C++异常处理 C++异常处理是一种处理程序错误的机制,在代码出现错误时,以一种标准化的方式抛出异常,传递异常信息,然后可以选择在程序的其他部分捕获并处理它们,以便程序可以以一种优雅的方式退出或恢复。在这篇文章中,我们将介绍C++异常处理的基本概念,并提供示例来解释异常的情况。 异常处理的三个基本部分 C++异常处理的三个基本部分是:抛出异常、捕获异…

    C 2023年5月22日
    00
  • 使用C语言如何输出逆序数

    想要在C语言中输出逆序数,我们可以使用一个循环结构和一些操作来实现。下面是使用C语言输出逆序数的完整攻略: 1. 按位取数 我们首先需要确定待逆序的数是多少,可以从用户输入中获取或者直接写入代码中。假设我们要逆序的数字是 $num$。 接下来我们要按位去取 $num$ 中的数字,可以通过使用取模和整数除法来实现。 通过依次取出 $num$ 的个位数、十位数、…

    C 2023年5月23日
    00
  • C语言switch语句详解

    C语言switch语句详解 简介 在C语言中,switch语句是一种多分支的选择结构,可以用来比对多个值,根据不同的值来执行对应的代码块。 语法 switch语句的基本语法如下: switch(expression){ case constant-expression1: statement(s); break; case constant-expressi…

    C 2023年5月24日
    00
  • C语言五子棋小游戏实现代码

    C语言五子棋小游戏的实现代码,主要分为以下几步: 1. 游戏窗口的设计与绘制 游戏窗口的设计可以使用Windows API库中的CreateWindow () 函数进行实现。需要指定窗口的标题、大小、风格等参数。具体可以参考以下代码示例: //创建窗口的函数 HWND hWindow; hWindow = CreateWindow( "Window…

    C 2023年5月24日
    00
  • C语言实现哈夫曼树

    C语言实现哈夫曼树攻略 什么是哈夫曼树? 哈夫曼树是一种二叉树,将一组权值作为叶子结点,构造出一个有最小带权路径长度的树,被用于数据压缩和加密等领域。 实现哈夫曼树的基本思路 具体步骤如下: 根据给定的权值序列,按照从小到大的顺序,将权值存入森林F中,森林F中的每棵树都是只含一个节点的哈夫曼树; 从森林F中选出两棵根节点权值最小的树作为左右子树构造一棵新的二…

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