返回顶部
首页 > 资讯 > 后端开发 > Python >详解Python 数据库 (sqlite3)应用
  • 910
分享到

详解Python 数据库 (sqlite3)应用

详解数据库Python 2022-06-04 18:06:53 910人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

python自带一个轻量级的关系型数据库sqlite。这一数据库使用SQL语言。SQLite作为后端数据库,可以搭配Python建网站,或者制作有数据存储需求的工具。SQLite还在其它领域有广泛的应用,比

python自带一个轻量级的关系型数据库sqlite。这一数据库使用SQL语言。SQLite作为后端数据库,可以搭配Python建网站,或者制作有数据存储需求的工具。SQLite还在其它领域有广泛的应用,比如HTML5和移动端。Python标准库中的sqlite3提供该数据库的接口。

我将创建一个简单的关系型数据库,为一个书店存储书的分类和价格。数据库中包含两个表:cateGory用于记录分类,book用于记录某个书的信息。一本书归属于某一个分类,因此book有一个外键(foreign key),指向catogory表的主键id。

查看图片

创建数据库

我首先来创建数据库,以及数据库中的表。在使用connect()连接数据库后,我就可以通过定位指针cursor,来执行SQL命令:


# By Vamei
import sqlite3

# test.db is a file in the working directory.
conn = sqlite3.connect("test.db")

c = conn.cursor()

# create tables
c.execute('''CREATE TABLE category
   (id int primary key, sort int, name text)''')
c.execute('''CREATE TABLE book
   (id int primary key, 
    sort int, 
    name text, 
    price real, 
    category int,
    FOREIGN KEY (category) REFERENCES category(id))''')

# save the changes
conn.commit()

# close the connection with the database
conn.close()

SQLite的数据库是一个磁盘上的文件,如上面的test.db,因此整个数据库可以方便的移动或复制。test.db一开始不存在,所以SQLite将自动创建一个新文件。

利用execute()命令,我执行了两个SQL命令,创建数据库中的两个表。创建完成后,保存并断开数据库连接。

插入数据

上面创建了数据库和表,确立了数据库的抽象结构。下面将在同一数据库中插入数据:


# By Vamei

import sqlite3

conn = sqlite3.connect("test.db")
c  = conn.cursor()

books = [(1, 1, 'Cook Recipe', 3.12, 1),
      (2, 3, 'Python Intro', 17.5, 2),
      (3, 2, 'OS Intro', 13.6, 2),
      ]

# execute "INSERT" 
c.execute("INSERT INTO category VALUES (1, 1, 'kitchen')")

# using the placeholder
c.execute("INSERT INTO category VALUES (?, ?, ?)", [(2, 2, 'computer')])

# execute multiple commands
c.executemany('INSERT INTO book VALUES (?, ?, ?, ?, ?)', books)

conn.commit()
conn.close()

插入数据同样可以使用execute()来执行完整的SQL语句。SQL语句中的参数,使用"?"作为替代符号,并在后面的参数中给出具体值。这里不能用Python的格式化字符串,如"%s",因为这一用法容易受到SQL注入攻击。

我也可以用executemany()的方法来执行多次插入,增加多个记录。每个记录是表中的一个元素,如上面的books表中的元素。

查询

在执行查询语句后,Python将返回一个循环器,包含有查询获得的多个记录。你循环读取,也可以使用sqlite3提供的fetchone()和fetchall()方法读取记录:


# By Vamei

import sqlite3

conn = sqlite3.connect('test.db')
c = conn.cursor()

# retrieve one record
c.execute('SELECT name FROM category ORDER BY sort')
print(c.fetchone())
print(c.fetchone())

# retrieve all records as a list
c.execute('SELECT * FROM book WHERE book.category=1')
print(c.fetchall())

# iterate through the records
for row in c.execute('SELECT name, price FROM book ORDER BY sort'):
  print(row)

更新与删除

你可以更新某个记录,或者删除记录:


# By Vamei

conn = sqlite3.connect("test.db")
c = conn.cursor()

c.execute('UPDATE book SET price=? WHERE id=?',(1000, 1))
c.execute('DELETE FROM book WHERE id=2')

conn.commit()
conn.close()

你也可以直接删除整张表:


c.execute('DROP TABLE book')

如果删除test.db,那么整个数据库会被删除。

总结

sqlite3只是一个SQLite的接口。想要熟练的使用SQLite数据库,还需要学习更多的关系型数据库的知识。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: 详解Python 数据库 (sqlite3)应用

本文链接: https://lsjlt.com/news/13926.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 详解Python 数据库 (sqlite3)应用
    Python自带一个轻量级的关系型数据库SQLite。这一数据库使用SQL语言。SQLite作为后端数据库,可以搭配Python建网站,或者制作有数据存储需求的工具。SQLite还在其它领域有广泛的应用,比...
    99+
    2022-06-04
    详解 数据库 Python
  • Python数据库sqlite3图文实例详解
    目录前言SQLite3数据库1.需要的模块(只有一个)2.模块的使用2.1创建与数据库的连接2.2创建游标2.3创建 table2.4插入数据2.5查找数据快乐的coding时间!最后前言 提到数据库,大家第一时间想到的...
    99+
    2024-04-02
  • Python标准库之数据库 sqlite3
    目录1、创建数据库 2、插入数据3、查询4、更新与删除Python自带一个轻量级的关系型数据库SQLite。这一数据库使用SQL语言。SQLite作为后端数据库,可以搭配P...
    99+
    2024-04-02
  • Python标准库14 数据库 (sqlite3)
    Python自带一个轻量级的关系型数据库SQLite。这一数据库使用SQL语言。SQLite作为后端数据库,可以搭配Python建网站,或者制作有数据存储需求的工具。SQLite还在其它领域有广泛的应用,比如HTML5和移动端。Python...
    99+
    2023-06-02
  • python中怎么使用sqlite3数据库
    python中怎么使用sqlite3数据库,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Python SQLITE数据库是一款非常小巧的嵌入式...
    99+
    2024-04-02
  • Python中的sqlite3数据库怎么用
    今天小编给大家分享一下Python中的sqlite3数据库怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。sqlite3...
    99+
    2023-07-04
  • python之sqlite3使用详解
    Python SQLITE数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身。它使用一个文件存储整个数据库,操作十分方便。它的最大优点是使用方便,功能相比于其它大型数据库来说,确实有...
    99+
    2023-01-31
    详解 python
  • SQLite3数据库读写
    //插入数据 #include "CppSQLite3.h" #include <io.h> CppSQLite3DB db; BOOL re = _access("config.db", 0);//判文件是否存在 if (re...
    99+
    2023-01-31
    数据库
  • Python之Sqlite3数据库基本操作
    在一些小的应用中,难免会用到数据库,Sqlite数据库以其小巧轻便,无需安装,移植性好著称,本文主要以一个简单的小例子,简述Python在Sqlite数据库方面的应用,仅供学习分享使用,如有不足之处,还请指正。 涉及知识点 sqlite3...
    99+
    2017-01-09
    Python之Sqlite3数据库基本操作 数据库入门 数据库基础教程 数据库 mysql
  • Golang操作sqlite3数据库的详细教程
    目录sqlite概述创建SQLITE数据库打印版本Exec执行DML语句查询记录带参数的prepared 语句返回影响行数总结本文介绍sqlite数据库,如何使用sqlite3包操作...
    99+
    2023-05-16
    golang操作sqlite3 go操作sqlite golang操作数据库
  • Python怎么使用sqlite3第三方库读写SQLite数据库
    本篇内容主要讲解“Python怎么使用sqlite3第三方库读写SQLite数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么使用sqlite3第三方库读写SQLite数据库”...
    99+
    2023-07-02
  • sqlite3常用命令以及django如何操作sqlite3数据库
    一、如何进入sqlite3交互模式进行命令操作?1、确认sqlite3是否已经安装进去python命令行,执行>>> import sqlite3 >>&g...
    99+
    2024-04-02
  • Golang怎么操作sqlite3数据库
    这篇文章主要介绍了Golang怎么操作sqlite3数据库的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Golang怎么操作sqlite3数据库文章都会有所收获,下面我们一起来看看吧。sqlite概述sqlit...
    99+
    2023-07-06
  • sqlite3数据库单表转存mysql数据库(PHP代码)
          本代码属于单表转换,在开始转换之前,假设你已经对应sqlite3数据的某张表在mysql数据库中建立相同名称的表和列,这里假设表中的列为,col...
    99+
    2024-04-02
  • Python使用sqlite3第三方库读写SQLite数据库的方法步骤
    目录1 数据概览2 任务定义3 实现步骤3.1 利用pandas读取学生信息3.2 利用sqlite3创建数据库和学生表3.3 利用sqlite3将学生信息存入数据库3.4 将李四数学成绩70录入SQLite数据库3.5...
    99+
    2022-07-04
    python读取sqlite python的sqlite3数据库 python获取sqlite数据库数据
  • SQLite3数据库的介绍和使用教程(面向业务编程-数据库)
    目录SQLite3数据库的介绍和使用(面向业务编程-数据库)SQLite3介绍获取SQLite3源码编写CMake工程main.cpp编译使用SQL安装一个SQLite3建表插入行查找数据删除一项数据更新字段SQL总结C...
    99+
    2023-05-05
    SQLite3介绍和使用 SQLite3使用
  • android通过jxl读excel存入sqlite3数据库
    代码如下:package com.demo.day20140228; import java.io.File;import java.sql.Connection;impor...
    99+
    2022-06-06
    jxl 数据 sqlite3 SQLite 数据库 Android
  • SQLite3如何实现数据库全文搜索
    这篇文章主要为大家展示了“SQLite3如何实现数据库全文搜索”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SQLite3如何实现数据库全文搜索”这篇文章吧。对...
    99+
    2024-04-02
  • C语言中怎么操作sqlite3数据库
    这篇文章给大家介绍C语言中怎么操作sqlite3数据库,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。数据库本篇假设数据库为my.db,有数据表student。nonamescore4一口Linux89.0创建表格语句如...
    99+
    2023-06-16
  • Python 数据科学 Matplotlib图库详解
    Matplotlib 是 Python 的二维绘图库,用于生成符合出版质量或跨平台交互环境的各类图形。 图形解析与工作流 图形解析  工作流 Matplotlib 绘图的基本步骤: 1  准备数...
    99+
    2022-06-02
    Python 数据科学 Matplotlib Python Matplotlib库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作