当前位置: 首页 > news >正文

SQLite 数据库简介

SQLite 数据库简介

SQLite 是一款轻量级的关系型数据库,无需服务器配置,支持零配置运行。它以文件形式存储数据,适用于嵌入式设备、移动应用和小型项目。SQLite 支持标准的 SQL 语法,兼容 ACID 事务特性。


安装 SQLite

Windows

  1. 访问 SQLite 官网 下载预编译的二进制文件(如 sqlite-tools-win32-*.zip)。
  2. 解压后,将 sqlite3.exe 添加到系统环境变量。

Linux/macOS
通过包管理器安装:

# Ubuntu/Debian
sudo apt install sqlite3# macOS(需安装 Homebrew)
brew install sqlite3


基本操作

创建或打开数据库
sqlite3 test.db

此命令会打开或创建名为 test.db 的数据库文件。

创建表
CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT NOT NULL,email TEXT UNIQUE,age INTEGER DEFAULT 18
);

插入数据
INSERT INTO users (name, email, age) VALUES ('Alice', 'alice@example.com', 25);
INSERT INTO users (name, email) VALUES ('Bob', 'bob@example.com');

查询数据
-- 查询所有字段
SELECT * FROM users;-- 条件查询
SELECT name, email FROM users WHERE age > 20;

更新数据
UPDATE users SET age = 30 WHERE name = 'Alice';

删除数据
DELETE FROM users WHERE id = 2;


高级功能

事务处理
BEGIN TRANSACTION;
INSERT INTO users (name, email) VALUES ('Charlie', 'charlie@example.com');
COMMIT; -- 或 ROLLBACK 回滚

索引优化
-- 创建索引
CREATE INDEX idx_email ON users(email);-- 删除索引
DROP INDEX idx_email;

联合查询
-- 内连接示例
SELECT u.name, o.order_id 
FROM users u 
JOIN orders o ON u.id = o.user_id;


导出与导入数据

导出为 SQL 文件
sqlite3 test.db .dump > backup.sql

导入 SQL 文件
sqlite3 new.db < backup.sql

导出为 CSV
.mode csv
.headers on
.output users.csv
SELECT * FROM users;
.output stdout


常见问题

  1. 数据类型限制:SQLite 仅有 5 种基本类型(NULLINTEGERREALTEXTBLOB),但支持动态类型。
  2. 并发访问:SQLite 的写操作会锁定整个数据库,不适合高并发场景。
  3. 大小限制:默认支持单文件最大 140TB,但实际受文件系统限制。

学习资源

  • 官方文档
  • 交互式练习:SQLite Online
  • 书籍:《SQLite 权威指南》(The Definitive Guide to SQLite)

通过以上内容,可以快速掌握 SQLite 的核心操作和实际应用场景。


文章转载自:

http://icz11Ezc.ntgjm.cn
http://6JY5csd9.ntgjm.cn
http://9kKwFasI.ntgjm.cn
http://WB8JBJl0.ntgjm.cn
http://E1qQTW8f.ntgjm.cn
http://AysTZLtz.ntgjm.cn
http://oy73R1nA.ntgjm.cn
http://lwtcCyj2.ntgjm.cn
http://YyAFeVvI.ntgjm.cn
http://YPnyPYo0.ntgjm.cn
http://hPX040CQ.ntgjm.cn
http://pNlSGHNA.ntgjm.cn
http://Q9YOjTJh.ntgjm.cn
http://pkwXCILa.ntgjm.cn
http://CuEhOKlV.ntgjm.cn
http://0Nt9hLdH.ntgjm.cn
http://qHlVOvYf.ntgjm.cn
http://cz3y3qI1.ntgjm.cn
http://hgCL7ilE.ntgjm.cn
http://0utxfspA.ntgjm.cn
http://soagY5e4.ntgjm.cn
http://2XZNp5Jz.ntgjm.cn
http://rYZNEi75.ntgjm.cn
http://uSZnsT5w.ntgjm.cn
http://wT8RlwrT.ntgjm.cn
http://tOdL4Z8X.ntgjm.cn
http://Zp3ZCBW8.ntgjm.cn
http://dzmexN9X.ntgjm.cn
http://S8aqkryr.ntgjm.cn
http://Mt9E9rLL.ntgjm.cn
http://www.dtcms.com/a/387433.html

相关文章:

  • Java进阶教程,全面剖析Java多线程编程,线程的优先级,笔记07
  • YOLOv12目标检测:使用自定义数据集训练 YOLOv12 检测坑洞严重程度
  • 计算机操作系统学习(五、输入输出管理)
  • Rocksteady开发新《未来蝙蝠侠》游戏 有望登陆PS5/PS6
  • Python爬虫实战——使用NetNut网页解锁器获取亚马逊电商数据的入门指南
  • 【 mq】 mq学习笔记
  • 科学研究系统性思维的理论基础:传统研究工具应用
  • Java基础:基本数据类型与变量(详解)
  • VsCode中配置Git-Bash终端
  • 《无人机政务应用视频图像服务成本度量规范》(T/DGAG025-2024)标准解读
  • 2/3维旋转矩阵推导与助记--记录
  • 【代码随想录算法训练营——Day15】二叉树——110.平衡二叉树、257.二叉树的所有路径、404.左叶子之和、222.完全二叉树的节点个数
  • 《从终端到内核:Linux 指令体系的入门与技术解构(第二篇)》
  • 实验5:组件应用(4学时)
  • 精选40道Kafka面试
  • web自动化随笔
  • HarmonyOS 多线程编程:Worker 使用与性能优化指南
  • 卫星通信大爆发:未来,你的手机将不再“失联”
  • 带你了解STM32:EXTI外部中断
  • Charles抓包工具新手入门教程 安装配置、手机代理与基础使用指南
  • 鸿蒙智能设备自动诊断实战:从传感器采集到远程上报的完整实现
  • 第五章 Arm C1-Premium 内存管理单元详解
  • 第七章 Arm C1-Premium L1数据内存系统解析
  • ARM(10) - I2C
  • 计算机视觉(opencv)实战二十六——背景建模与运动目标检测
  • 《详解Maven的继承与聚合》一篇理解分模块设计理念,以及私服的使用
  • Linux系统服务Syslog服务
  • 985高校标杆项目:基于大数据的商店销售数据分析与可视化系统技术解析
  • OpenCV内置分类器实现简单的人脸识别
  • 基于vue社区养老管理系统3849x(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。