68-python操作SQLite

1. 了解SQLite

SQLite,是一款輕型的數據庫,是遵守ACID的關系型數據庫管理系統,它包含在一個相對小的C庫中。它是D.RichardHipp建立的公有領域項目。它的設計目標是嵌入式的,而且已經在很多嵌入式產品中使用了它,它占用資源非常的低,在嵌入式設備中,可能只需要幾百K的內存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統,同時能夠跟很多程序語言相結合,比如 Tcl、C#、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源的世界著名數據庫管理系統來講,它的處理速度比他們都快。SQLite第一個Alpha版本誕生于2000年5月。 至2021年已經接近有21個年頭,SQLite也迎來了一個版本 SQLite 3已經發布。

注:上述文字內容來源于百度百科

ACID,是指數據庫管理系統(DBMS)在寫入或更新資料的過程中,
為保證事務(transaction)是正確可靠的,
所必須具備的四個特性:
原子性(atomicity,或稱不可分割性)、
一致性(consistency)、
隔離性(isolation,又稱獨立性)、
持久性(durability)。

在這里插入圖片描述

在這里插入圖片描述

2. 數據庫編程接口

應用程序編程接口(英語:Application Programming Interface,
簡稱:API),是一些預先定義的函數,目的是提供應用程序與開發人員基于
某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼,或理解
內部工作機制的細節。

在這里插入圖片描述

3. sqlite3學習

1.了解 connect() 函數
connection 對象參數:dsn 數據源名user 用戶名password 用戶密碼host 主機名database 數據庫名稱

2.游標
cursor()
commit() 提交事務
rollback() 回滾 撤銷所有的操作
close() 關閉資源

3.操作流程圖
在這里插入圖片描述

# -*- coding: utf-8 -*-
"""
@Project : 01-python-learn
@File    : 02_createdemo.py
@IDE     : PyCharm
@Author  : 劉慶東
@Date    : 2025/9/15 10:15
"""
# 1. 導入模塊
import sqlite3"""連接到 SQLite3數據庫數據庫文件 mrsoft.db如果文件不存在,會自動創建!
"""#2. 獲取數據庫連接對象  conn 是connection的簡寫
conn=sqlite3.connect("mrsoft.db")# 3 創建一個游標[Cursor]對象
cursor=conn.cursor()# 4. 執行一條 sql
cursor.execute('CREATE TABLE user (id int(10) primary key,name varchar(100))')# 5. 關閉游標
cursor.close()# 6. 如果是增刪改操作 一定要提交事務
conn.commit()#7. 關閉數據庫連接
conn.close()

想要刪除db文件參見如下的代碼:


# -*- coding: utf-8 -*-
"""
@Project : 01-python-learn
@File    : 01-使用文件流刪除db文件.py
@IDE     : PyCharm
@Author  : 劉慶東
@Date    : 2025/9/15 09:25
刪除SQLite DB文件
"""import os# 指定數據庫文件的路徑
db_path = 'D:/01-python-learn/mypackage/mrsoft.db'# 刪除數據庫文件
if os.path.exists(db_path):os.remove(db_path)print("數據庫文件已刪除")
else:print("數據庫文件不存在")

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/98164.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/98164.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/98164.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

在Qt項目中使用QtConcurrent::run,實現異步等待和同步調用

在使用Qt進行開發時,經常需要使用異步方法,不同于C#的async/await,Qt中提供了QtConcurrent::run接口方法可供調用,習慣了C#的await,便想著能不能封裝幾個類似的函數在項目中使用,探索了下,有如下…

視頻分類 pytorchvideo

目錄 1. 速度 vs 精度分析 mvit: r2plus1d_r50 推理代碼: x3d_xs推理代碼: R(21)D X3D(輕量級,速度快) I3D(經典 3D CNN) 替換分類層(適配你的任務) https://gith…

OpenTiny NEXT 內核新生:生成式UI × MCP,重塑前端交互新范式!

近期,我們推出 OpenTiny NEXT —— OpenTiny的下一代企業級前端智能開發解決方案。這不僅是一次技術升級,更是一場用戶交互范式的變革:從傳統的人機交互升級成為人機交互范式和智能體交互范式的融合。我們堅信,每一個企業應用都值…

深度神經網絡1——梯度問題+標簽數不夠問題

要解決一個復雜問題,可能要訓練更深的神經網絡,可能會10層及以上,每層包含數百個神經元,成千上萬個連接。這樣大的神經網絡在訓練的時候可能會遇到以下問題:這樣在進行反向傳播的時候,隨著層數越來越低會遇…

(筆記)內存文件映射mmap

內存文件映射是一種將文件內容映射到進程的虛擬地址空間的技術,使得文件可以被視為內存的一部分,從而允許程序直接對這部分內存進行讀寫操作,而無需傳統的文件 I/O 調用。這種方法不僅簡化了文件操作,還提高了處理效率。 在Linux…

Golang中的NaN(Not a Number)

Golang中的NaN(Not a Number) 在Go語言中,NaN是浮點數(特別是float32和float64)中的一個特殊值,表示未定義或不可表示的數值。 go中,除數為0時并不會返回error或者nil,而是返回無窮大…

微軟圖引擎GraphEngine深度解析:分布式內存計算的技術革命

? "在大數據的汪洋中,圖引擎就像是一艘能夠高速穿越復雜關系網絡的超級快船" 引言:當內存遇上圖計算的火花 在這個數據爆炸的時代,傳統的關系型數據庫已經難以應對復雜關系數據的查詢挑戰。當Facebook的社交網絡擁有數十億用戶關…

catkin工程和CMakelist.txt的基本使用

catkin工程和CMakelist.txt的基本使用1.catkin工程和CMakelist.txt的基本使用1. 頂部基本信息2. 編譯選項 / C 標準3. 依賴查找(catkin 包)4. 第三方庫查找(非 catkin)5. 導出包信息(catkin_package)6. 頭文…

uniapp打包前端項目

打包前的準備工作確保項目開發已完成,并且已安裝最新版本的HBuilderX。檢查項目中所有依賴是否已正確安裝,配置文件如manifest.json已根據H5需求進行適配。在HBuilderX中打包在 HBuilderX 中,點擊頂部菜單欄的 “發行” -> “網站-H5手機版…

Dify + Bright Data MCP:從實時影音數據到可落地的智能體生產線

一、引言:AI 應用與實時影音數據的融合價值 內容生態近年的“視頻化、實時化、社交化”浪潮,將數據獲取鏈路推到了更靠前的位置。真正驅動業務的,不是某一幀漂亮的模型輸出,而是“數據—理解—動作”的持續閉環。無論是品牌內容策…

【Linux】make/Makefile工具篇

目錄一、自動化構建二、make/Makefile2.1 見識一個簡單的make/Makefile2.2 Makefile的基本語法2.3 Makefile的語法細節個人主頁<—請點擊 Linux專欄<—請點擊 一、自動化構建 自動化構建是指通過構建工具&#xff08;如make&#xff09;解析構建腳本&#xff08;如Make…

如何在企業微信上以 HTTPS 方式訪問內網 OA/ERP 等系統?

企業微信可以將 ZeroNews 平臺上添加的內網應用集成到企業微信的工作臺。這樣&#xff0c;用戶即使在外部網絡環境中&#xff0c;也可以通過企業微信訪問內網的 OA、ERP 等應用。以下是企業在 Linux 服務器上部署 OA 系統&#xff0c;并通過 ZeroNews 通過互聯網訪問 OA 系統的…

Windows 11 安裝使用 nvm,Node.js、npm多版本管理、切換

Windows 11 安裝使用 nvm&#xff0c;Node.js、npm多版本管理、切換 文章目錄Windows 11 安裝使用 nvm&#xff0c;Node.js、npm多版本管理、切換1. nvm 簡介2. 安裝、配置 nvm2.1. 卸載現有 Node.js&#xff08;非常重要&#xff01;&#xff09;2.2. 下載 nvm-windows 安裝包…

在LazyVim中配置Rust開發環境

要在LazyVim中配置Rust開發環境&#xff0c;包括代碼補全、格式化、調試等功能&#xff0c;可以按照以下步驟進行配置&#xff1a; 1. 確保基礎環境 首先確保你已經安裝了&#xff1a; Rust工具鏈 (rustup, rustc, cargo)LazyVim已正確安裝 # 安裝Rust工具鏈 curl --proto http…

LeetCode熱題100--114. 二叉樹展開為鏈表--中等

1. 題目 給你二叉樹的根結點 root &#xff0c;請你將它展開為一個單鏈表&#xff1a; 展開后的單鏈表應該同樣使用 TreeNode &#xff0c;其中 right 子指針指向鏈表中下一個結點&#xff0c;而左子指針始終為null 。展開后的單鏈表應該與二叉樹 先序遍歷 順序相同。 示例 …

REST API 設計最佳實踐指南 - 如何用 JavaScript、Node.js 和 Express.js 構建 REST API

過去幾年里&#xff0c;我創建并使用過很多 API。在此過程中&#xff0c;我遇到過各種好的和壞的實踐&#xff0c;也在開發和調用 API 時碰到過不少棘手的問題&#xff0c;但也有很多順利的時刻。 網上有很多介紹最佳實踐的文章&#xff0c;但在我看來&#xff0c;其中不少都缺…

MyCat

文章目錄18.1 MySQL 讀寫分離概述18.1.1 工作原理18.1.2 為什么要讀寫分離18.1.3 實現方式18.2 什么是 MyCat18.3 MyCat 安裝與配置1. 下載與解壓2. 創建用戶并修改權限3. 目錄說明4. Java 環境要求18.4 MyCat 啟動與配置1. 配置環境變量2. 配置 hosts&#xff08;多節點集群&a…

使用 Spring Boot 搭建和部署 Kafka 消息隊列系統

使用 Spring Boot 搭建和部署 Kafka 消息隊列系統 摘要 本文將引導您在 Kafka 上搭建一個消息隊列系統&#xff0c;并整合到您的 Spring Boot 項目中。我們將逐步實現這一方案&#xff0c;探討其中的關鍵原理&#xff0c;避開可能遇到的坑&#xff0c;并最終將其部署到 Kuberne…

daily notes[45]

文章目錄basic knowledgereferencesbasic knowledge the variable in Rust is not changed. let x5; x6;Rust language promotes the concept that immutable variables are safer than variables in other programming language such as python and and are in favour of th…

技術奇點爆發周:2025 年 9 月科技突破全景掃描

技術奇點爆發周&#xff1a;2025 年 9 月科技突破全景掃描當中國 "祖沖之三號" 量子計算機在特定任務上超越經典超級計算機一千萬億倍的算力新聞&#xff0c;與 OpenAI 宣布 100 億美元定制芯片量產協議的消息在同一周密集爆發時&#xff0c;我們真切感受到了技術革命…