SQLite 是一种嵌入式数据库

是的!SQLite 是一种嵌入式数据库,可以理解为一个文件型数据库,非常适合本地简单部署,不需要像 MySQL 那样安装单独的数据库服务。以下是 SQLite 的核心特点(大白话版):

1. 无需 “服务器”,开箱即用

  • MySQL:像一个 “中央厨房”,需要专门启动一个数据库服务(如 mysql.server start),多个客户端(如应用程序、Navicat)可以连接到这个服务。
  • SQLite:像一个 “便携饭盒”,数据库就是一个文件(如 mydatabase.db),程序直接读写这个文件,不需要额外的服务。

举例:
你写一个 Python 脚本,直接用 SQLite 操作本地文件:

python
 
运行
 
 
 
 
import sqlite3

# 连接到数据库文件(如果不存在会自动创建)
conn = sqlite3.connect('mydatabase.db')
c = conn.cursor()

# 创建表、插入数据...
c.execute('CREATE TABLE users (id INT, name TEXT)')
c.execute('INSERT INTO users VALUES (1, "Alice")')
conn.commit()
 

2. 轻量级,适合小型项目

  • SQLite 体积很小(几 MB),不需要配置,特别适合:
    • 本地开发环境(如个人项目、测试)。
    • 嵌入式设备(如手机应用、物联网设备)。
    • 小型网站或工具(如博客、桌面应用)。

3. 局限性:不适合高并发场景

  • 优势:简单、快速(读写本地文件)。
  • 劣势:不支持多用户同时写操作(同一时间只能有一个程序修改数据库文件)。

适用场景:
✅ 个人笔记应用、本地数据存储。
✅ 单用户程序(如桌面工具)。
❌ 大型网站后端(并发访问会冲突)。
❌ 企业级应用(数据量大、需要权限管理)。

4. 如何使用?

方法 1:直接用命令行工具

  • 下载 SQLite 命令行工具(官网:https://www.sqlite.org/download.html)。
  • 打开终端,进入数据库文件所在目录:
    bash
     
     
    # 创建或打开数据库文件
    sqlite3 mydatabase.db
    
    # 执行 SQL 命令
    sqlite> CREATE TABLE users (id INT, name TEXT);
    sqlite> .tables  # 查看所有表
    sqlite> .exit    # 退出
    
     

方法 2:在代码中使用(以 Python 为例)

python
 
运行
 
 
 
 
import sqlite3

# 连接数据库
conn = sqlite3.connect('mydatabase.db')
c = conn.cursor()

# 执行 SQL
c.execute('SELECT * FROM users')
print(c.fetchall())  # 打印结果

# 关闭连接
conn.close()
 

5. 与 MySQL 的对比

特性SQLiteMySQL
部署方式 单个文件,无需服务 需要安装并启动服务
数据量上限 理论 140TB(实际更小) 无明确限制
并发支持 单写多读 高并发(多用户同时读写)
权限管理 无(文件级权限) 复杂用户权限系统
适合场景 本地开发、小型项目 企业级应用、Web 后端

总结

如果你只是写个小工具、做个本地实验,或者开发一个单机应用,SQLite 是绝佳选择!它简单、轻量,无需额外配置,直接用文件就能存储数据。但如果涉及多人协作、高并发访问,还是得用 MySQL、PostgreSQL 等数据库服务。
 
 
 
 
除了Python,SQLite还可以在哪些编程语言中使用?
详细说明SQLite的事务处理机制。
对比SQLite和MySQL的安全性。
 
 
posted @ 2025-06-17 16:46  m516606428  阅读(82)  评论(0)    收藏  举报