Python爬虫——SQLite数据库

2023-10-27

SQLite数据库

(声明:本篇文章仅仅是个人的浅薄理解,只是在爬虫过程中使用。其中若有不当之处,烦请理解并指出,谢谢!)
使用语言:Python           开发环境:pyCharm

  在Python中使用SQLite数据库,主要使用按四个步骤进行——

  1. 链接数据库
conn = _sqlite3.connect("testdb.db")#链接数据库
  1. 获取游标
 c = conn.cursor() #获取游标
  1. 执行SQL语句
 c.execute(sql)#执行sql语句
  1. 关闭(游标及数据库)
 conn.close()#关闭数据库

在此,我们仅使用Python语言实现数据库最常用的几种操作

  • 建库,建表(CREATE)
  • 增加数据(INSERTE)
  • 查找数据(SELECT)

至于SQL语句的知识,这里默认你会!(ง •_•)ง

建库&建表

conn = _sqlite3.connect("testdb.db") #链接数据库
print("建立数据库成功了")
c = conn.cursor() #获取游标
sql = '''
        CREATE TABLE company
        (
        id int primary key not null,
        name text not null,
        age int not null,
        adress char(50),
        salary real
        );
'''
c.execute(sql)#执行sql语句
conn.commit()#提交执行到数据库
conn.close()#关闭数据库
print("表建好了")

这里,我们强调几个点:

  1. 这里的游标conn.cursor()可以理解为,指向表的一行的指针。我们对表进行数据的“增删改查”,都是利用这个小别致来实现的。
  2. 这里的conn.commit(),是当我们所作的操作会对数据库产生更改时,才需要写的。例如:建表,增加。而当我们进行“查询”操作时,便不需要写这一句。
  3. 另外,SQLite支持的数据类型包括:
    点这里,菜鸟教程,你值得拥有!
  4. 在创建完数据库之后,会在你指定的路径["testdb.db"-这个是当前路径]下,发现一个.db文件。

附:

使用pyCharm的小伙伴,此时可以通过上方的DB Navigator,连接到.db文件。没使用的小伙伴,直接下拉到下一个操作。具体操作如下:
在这里插入图片描述在这里插入图片描述

增加数据

conn = _sqlite3.connect("testdb.db") #链接数据库
c = conn.cursor() #获取游标

sql = '''
        INSERT INTO company(id,name,age,adress,salary)
        VALUES(1,"张三",30,"西安",20000);
'''

c.execute(sql)
conn.commit() #需要数据存入,所以要利用commit提交数据库
conn.close()
print("插入数据成功了")

  这里没啥说的,需要注意的是:
INSERT INTO company(id,name,age,adress,salary)后面别加;

查找数据

conn = _sqlite3.connect("testdb.db")
c = conn.cursor() 

sql = '''
        SELECT id,name,age from company
'''

result = conn.execute(sql)

for row in result :
    print(row)

conn.close()
print("查询数据成功了")

查询结果会保存在conn.execute(sql)中,使用一个变量接收它。

注意关闭游标与数据库。尤其是当开关一次数据库之间,并在其中执行多次访问数据库的操作时,要注意执行一次SQL命令后,关闭游标。否则,上一次游标的位置不会自动回复,造成读取或存入的混乱。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python爬虫——SQLite数据库 的相关文章

随机推荐

  • 操作系统 -- 内存管理(分配与回收)

    目录 内存的分配方式 连续内存分配 单一连续分配 过时 固态分区分配 动态分区分配 动态分区分配算法 首次适应算法 最佳适应算法 最坏适应算法 邻近适应算法 非连续内存分配 基础定义 地址转换 十进制地址 二进制地址 页表 地址转变过程 地
  • C++基础知识(一)

    C 基础知识 一 文章目录 C 基础知识 一 1 前言 2 编译器环境 3 第一个C 程序 4 数据类型 5 存储类 1 前言 1979年 C 初生萌芽 在1983年的时候 正式改名为C 本贾尼 斯特劳斯特卢普 Bjarne Stroust
  • OpenMP学习笔记

    一 OpenMP简介 1 内存共享并行模型 机器必须多处理器 核 共享内存 底层架构可以是UMA和NUMA UMA NUMA 2 Fork Join模型 重复fork join操作 3 OpenMP特性 OpenMP仅通过线程来完成并行 O
  • Redis(二):基础之五种常见数据结构与使用方法

    五种常见数据结构与使用方法 一 字符串String Redis 中的字符串是一种 动态字符串 这意味着使用者可以修改 它的底层实现有点类似于 Java 中的 ArrayList 有一个字符数组 从源码的 sds h sdshdr 文件 中可
  • 【20170924】C语言每日一练

    程序1 题目 有数字1 2 3 4 能组成多少个互不相同且无重复数字的三位数 都是多少 include
  • docker容器内存分配

    1 和CPU控制一样 docker也提供了若干参数来控制容器的内存使用配额 可以控制容器的swap大小 可用内存大小等各种内存方面的控制 主要有以下参数 memory swappiness 控制进程将物理内存交换到swap分区的倾向 默认系
  • Python selenium(一般不使用,原因:打开浏览器,虽然简单但是性能低)

    selenium使用 1 创建浏览器对象 driver webdriver xxx 2 发送请求 driver get url driver对象常用的属性和方法 1 driver page source 当前标签页浏览器渲染后的页面源代码
  • ESP8266学习笔记(二)

    上篇文章提到了如何使用USB转TTL模块调试ESP8266模块以及该模块的几种工作方式 此篇将会介绍如何实现ESP8266模块与单片机的通信 功能介绍 esp8266模块与stm32单片机的串口三之间互相通信 本人测试的是esp8266模块
  • 【100天精通python】Day37:GUI界面编程_PyQt 从入门到实战(上)_PyQt6基本组件、事件和信号槽、界面设计

    目录 专栏导读 1 PyQt6 简介 1 1 安装 PyQt6 和相关工具 1 2 PyQt6 基础知识 1 2 1 Qt 的基本概念和组件 1 2 2 创建和使用 Qt 窗口 标签 按钮等基本组件 1 2 3 布局管理器 垂直布局 水平布
  • Qt信号槽连接在有默认形参下的情况思考

    写下这个给自己备忘 比如函数 void test int a 0 你在调用端如论是test 3 或者test 都可以正确调用到这个函数 但是 如果放到Qt中的信号槽的话 这个还是值得讲一讲的 不然的话 可能会引起相应的误会 其实说到底 Qt
  • 互联网JAVA面试常问问题(二)

    一 线程有几种创建方式 这是一道比较常见的java线程问题 一般就是两种线程创建方式 继承Thread类 实现Runnable接口 继承Thread类 public class MyThread extends Thread private
  • Android资源文件中颜色使用的总结

    本文对Android颜色的使用做总结 重点介绍颜色在资源文件中的创建和颜色的选择器的创建和使用 一 在xml中使用颜色资源文件和颜色选择器文件 一 颜色资源文件的创建 1 创建资源文件 如图所示 2 编辑colors xml资源文件 如图所
  • halcon 与PLC串口通信解决方案

    OpSystem environment OS if OpSystem Windows NT open serial COM1 SerialHandle else open serial dev tty SerialHandle endif
  • vite项目中导入图片后报找不到模块处理方法

    vite项目 typescript的项目中 导入图片后报找不到模块处理方法 问题 在使用ts书写代码时 导入本地文件夹中图片 会出现报错 找不到模块 但是又能正常使用该图片 这样的报错启动项目是没有问题 但是最后打包会报错 所以不得不处理
  • MPP架构、常见OLAP引擎分析

    MPP架构 常见OLAP引擎分析 一 MPP架构 1 SMP 2 NUMA 3 MPP 二 批处理架构和MPP架构 三 MPP架构的OLAP引擎 1 只负责计算 不负责存储的引擎 1 Impala 2 Presto 2 既负责计算 又负责存
  • 性能测试报告全解析:如何编写一份专业的性能测试报告!

    一 背景 性能测试是软件开发过程中非常重要的一环 它可以帮助开发人员和质量保障人员评估软件在不同负载下的表现 找出瓶颈并优化性能 从而提高用户的满意度 而一份专业的性能测试报告 则是评估软件性能的重要成果之一 因此今天我们将分享一份完整的性
  • 解决ThinkPHP3.2 将Debug 关闭 设置为False 报页面错误 请稍后再试

    1 最近系统要上线 就把Index php中的debug 关闭 设置成false 结果出现如下的错误 2 修改config php文件 加入 SHOW ERROR MSG gt TRUE 后 显示错误信息 又报如下的错 这才是真正的错误信息
  • Windows Server 2022 下 Hyper-V NAT外网访问配置

    Windows Server 2022 下 Hyper V NAT外网访问配置 一 前言 二 安装 配置虚拟网卡 三 角色安装 四 路由和远程访问服务配置 五 DHCP服务器配置 六 DNS服务器配置 七 Hyper V配置 八 结果 本篇
  • Docker安装Nginx并修改Nginx配置文件

    一 Docker安装Nginx 1 首先在虚拟机上要确保你已经启动了docker 2 其次登录DockerHub官网 然后搜索nginx 然后在虚拟机里面输入docker pull nginx 就可以下载nginx的镜像了 3 注意下载完以
  • Python爬虫——SQLite数据库

    SQLite数据库 声明 本篇文章仅仅是个人的浅薄理解 只是在爬虫过程中使用 其中若有不当之处 烦请理解并指出 谢谢 使用语言 Python 开发环境 pyCharm 在Python中使用SQLite数据库 主要使用按四个步骤进行 链接数据