sqlite删除数据表
1.如何删除表
在SQLite中,删除表的SQL语句是DROP TABLE
。如果你想要在Python中使用SQLite库(如sqlite3
)来删除一个表,你可以按照以下步骤操作:
- 连接到SQLite数据库。
- 创建一个cursor对象。
- 执行
DROP TABLE
语句。 - 提交事务。
- 关闭cursor和连接。
下面是一个删除表的Python示例代码:
import sqlite3# 连接到SQLite数据库
# 如果数据库不存在,会自动在当前目录创建
conn = sqlite3.connect('example.db')# 创建一个cursor对象
cursor = conn.cursor()# 要删除的表名
table_name = 'my_table'# 执行删除表的SQL语句
cursor.execute(f'DROP TABLE IF EXISTS {table_name}')# 提交事务
conn.commit()# 关闭cursor和连接
cursor.close()
conn.close()
请注意,在执行DROP TABLE
之前,务必要确保已经备份了任何重要的数据,因为这个操作不可逆,一旦执行,表中的所有数据都会丢失。
2.sqlite删除表后db文件大小没有变化
在SQLite中,当你删除一个表时,该表所占用的空间并不会立即被释放回文件系统,而是被标记为可重用。这意味着SQLite数据库文件(.db)的大小可能不会立即减小,即使你已经删除了其中的一些数据或整个表。
SQLite使用一种称为“文件空间重用”的机制来管理磁盘空间。当你删除数据或表时,SQLite会保留这些空间以备将来使用,而不是立即将它们返回给操作系统。这样,如果以后你需要添加更多的数据,SQLite可以重用这些已标记的空间,而不需要重新分配磁盘空间。
如果你希望减小SQLite数据库文件的大小,你可以采取以下措施之一:
- VACUUM命令:SQLite提供了一个
VACUUM
命令,它可以重新整理数据库文件,释放未使用的空间并减小文件大小。你可以通过执行VACUUM;
SQL命令或使用Python的SQLite库来调用它。import sqlite3# 连接到SQLite数据库 conn = sqlite3.connect('example.db')# 创建一个cursor对象 cursor = conn.cursor()# 执行VACUUM命令 cursor.execute('VACUUM;')# 提交事务 conn.commit()# 关闭cursor和连接 cursor.close() conn.close()
执行
VACUUM
命令后,数据库文件的大小应该会减小,因为它会删除未使用的空间并将这些空间返回给操作系统。 - 重新创建数据库:如果你不关心保留现有的数据库结构或数据,另一种方法是创建一个新的数据库,并将需要的数据导入到新数据库中。这种方法可以确保新的数据库文件是最优化的,并且不包含任何未使用的空间。
-
请注意,在执行
VACUUM
命令之前,最好备份你的数据库,以防万一出现任何问题。此外,VACUUM
命令可能需要一些时间来执行,具体取决于数据库的大小和复杂性。最后,还要注意的是,即使执行了
VACUUM
命令,SQLite文件仍然可能不会立即减小到预期的大小,因为文件系统可能会保留一些块以供将来使用,或者操作系统可能没有立即回收这些空间。在某些情况下,你可能需要等待一段时间或重启计算机才能看到文件大小的显著变化。
相关文章:
sqlite删除数据表
1.如何删除表 在SQLite中,删除表的SQL语句是DROP TABLE。如果你想要在Python中使用SQLite库(如sqlite3)来删除一个表,你可以按照以下步骤操作: 连接到SQLite数据库。创建一个cursor对象。执行DROP TABLE语句。提交事…...

Spring Boot简介及案例
文章目录 Spring Boot简介以下是一个简单的 Spring Boot Web 应用实例**步骤 1:创建 Spring Boot 项目****步骤 2:编写 RESTful 控制器****步骤 3:配置主类****步骤 4:运行并测试应用** Spring Boot简介 Spring Boot 是一个用于简…...

Learning To Count Everything
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 摘要Abstract文献阅读:学习数一切东西1、研究背景2、提出方法3、模块详细3.1、多尺度特征提取模块3.2、密度预测模块 4、损失函数5、性能对比6、贡献 二…...

大语言模型(LLM)token解读
1. 什么是token? 人们经常在谈论大模型时候,经常会谈到模型很大,我们也常常会看到一种说法: 参数会让我们了解神经网络的结构有多复杂,而token的大小会让我们知道有多少数据用于训练参数。 什么是token?比…...

【Micro 2014】NoC Architectures for Silicon Interposer Systems
NoC Architectures for Silicon Interposer Systems 背景和动机 硅中介层 主要内容 基于interposer的多核 NOC架构 试验评估 方法 NoC Architectures for Silicon Interposer Systems Natalie Enright Jerger, University of Toronto Gabriel H. Loh AMD Research 硅中介层…...
《极客时间 - 左耳听风》01 | 程序员如何用技术变现?(上)【文章笔记 + 个人思考】
《极客时间 - 左耳听风》 原文链接 :https://time.geekbang.org/column/intro/100002201?tabcatalog 备注:加粗部分为个人思考 程序员用自己的技术变现是天经地义的事情。写程序是一门手艺活,程序员作为手艺人完全可以不依赖任何公司或者其他…...

Typora结合PicGo + Github搭建个人图床
目录 一 、GitHub仓库设置 1、新建仓库 2、创建Token 并复制保存 二、PicGo客户端配置 1、下载 & 安装 2、配置图床 三、Typora配置 一 、GitHub仓库设置 1、新建仓库 点击主页右上角的 号创建 New repository 填写仓库信息 2、创建Token 并复制保存 点击右上角…...

【JavaWeb】Day27.Web入门——Tomcat介绍
目录 WEB服务器-Tomcat 一.服务器概述 二.Web服务器 三.Tomcat- 基本使用 1.下载 2.安装与卸载 3.启动与关闭 4.常见问题 四.Tomcat- 入门程序 WEB服务器-Tomcat 一.服务器概述 服务器硬件:指的也是计算机,只不过服务器要比我们日常使用的计算…...

怎么更新sd-webui AUTOMATIC1111/stable-diffusion-webui ?
整个工程依靠脚本起来的: 可直接到stable-diffusion-webui子目录执行: git pull更新代码完毕后,删除venv的虚拟环境。 然后再次执行webui.sh,这样会自动重新启动stable-diffusion-webui....
Apache Iceberg最新最全面试题及详细参考答案(持续更新)
目录 1. 描述Apache Iceberg的架构设计和它的主要组件? 2. Iceberg如何处理数据的版本控制和时间旅行?...

从TCP/IP协议到socket编程详解
我的所有学习笔记:https://github.com/Dusongg/StudyNotes⭐⭐⭐ 文章目录 1 网络基础知识1.1 查看网络信息1.2 认识端口号1.3 UDP1.4 TCP1.4.1 确认应答机制1.4.2 TCP三次握手/四次挥手为什么是三次握手为什么是四次挥手listen 的第二个参数 backlog—— 全…...

uniapp开发小程序遇到的问题,持续更新中
一、uniapp引入全局scss 在App.vue中引入uni.scss <style lang"scss">/* #ifndef APP-NVUE */import "uni.scss";/* #endif */ </style>注意:nvue页面的样式在编译时,有很多样式写法被限制了,容易报错。所…...
C++经典面试题目(十一)
1. final和override关键字 在C中,final 和 override 是两个用于类继承和成员函数重写的关键字,它们主要在面向对象编程的上下文中使用,以增强代码的可读性和安全性。 1. final 关键字 final 关键字主要有两种用法: 用于类&…...
设计模式(6):桥接模式
一.桥接模式核心要点 处理多层继承结构,处理多维度变化的场景,将各个维度设计成独立的继承结构,使各个维度可以独立的扩展在抽象层建立关系。 \color{red}{处理多层继承结构,处理多维度变化的场景,将各个维度设计成独立…...
Java切面编程
1.切面编程 无需改变原有类的情况下对业务功能实现扩展或增强。 2.目前最流行的AOP框架有两个,分别为Spring AOP 和 AspectJ。 3.Spring AOP使用纯java实现,不需要专门的编译过程和类加载器,在运行期间通过代理方式向目标类织入增强的代码。 …...

微服务demo(二)nacos服务注册与集中配置
环境:nacos1.3.0 一、服务注册 1、pom: 移步spring官网https://spring.io,查看集成Nacos所需依赖 找到对应版本点击进入查看集成说明 然后再里面找到集成配置样例,这里只截一张,其他集成内容继续向下找 我的&#x…...
面试题库二
1、简述TCP/IP的三次握手和四次挥手 TCP(Transmission Control Protocol)是一种可靠的、面向连接的传输层协议,用于在网络中传输数据。在建立连接和断开连接时,TCP 使用了三次握手和四次挥手来确保通信的可靠性和正确性。 三次握手…...

HarmonyOS实战开发-如何实现一个简单的电子相册应用开发
介绍 本篇Codelab介绍了如何实现一个简单的电子相册应用的开发,主要功能包括: 实现首页顶部的轮播效果。实现页面跳转时共享元素的转场动画效果。实现通过手势控制图片的放大、缩小、左右滑动查看细节等效果。 相关概念 Swiper:滑块视图容…...

FFmpeg将绿幕视频处理成透明视频播放
怎么在网页端插入透明视频呢,之前在做Web3D项目时,使用threejs可以使绿幕视频透明显示在三维场景中,但是在网页端怎么让绿幕视频透明显示呢? 如图上图,视频背景遮挡住后面网页内容 想要如下图效果 之前有使用过ffmpeg…...

【2024系统架构设计】案例分析- 4 嵌入式
目录 一 基础知识 二 真题 一 基础知识 1 基本概念 ◆系统可靠性是系统在规定的时间内及规定的环境条件下,完成规定功能的能力,也就是系统无故障运行的概率。或者,可靠性是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...

【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...

stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...