您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# 怎样使用SQLite的小型免安装数据库
## 一、什么是SQLite?
SQLite是一款轻量级的**嵌入式关系型数据库**,具有以下核心特点:
- **零配置**:无需安装或管理,直接使用单一文件存储数据
- **跨平台**:支持Windows/Linux/macOS/Android/iOS等系统
- **单文件存储**:所有数据存储在`.db`或`.sqlite`文件中
- **无服务进程**:直接通过API访问,不需要数据库服务器
- **支持标准SQL**:兼容ACID事务,支持大多数SQL92标准
## 二、快速开始指南
### 1. 获取SQLite
访问[SQLite官网](https://www.sqlite.org/download.html)下载:
- Windows:预编译二进制文件`sqlite-tools-win32-*.zip`
- Linux:通过包管理器安装`sudo apt install sqlite3`
- macOS:预装或通过Homebrew安装`brew install sqlite`
### 2. 基本命令行操作
```bash
# 启动交互式命令行
sqlite3 test.db
# 查看所有命令帮助
.help
# 退出命令行
.quit
-- 创建表
CREATE TABLE users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
email TEXT UNIQUE,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
-- 插入数据
INSERT INTO users (name, email)
VALUES ('张三', 'zhangsan@example.com');
-- 查询数据
SELECT * FROM users WHERE name LIKE '张%';
-- 更新数据
UPDATE users SET email='new@example.com' WHERE id=1;
-- 删除数据
DELETE FROM users WHERE id=1;
import sqlite3
# 连接数据库(不存在则自动创建)
conn = sqlite3.connect('mydatabase.db')
# 创建游标
cursor = conn.cursor()
# 执行SQL
cursor.execute('''CREATE TABLE IF NOT EXISTS products
(id INTEGER PRIMARY KEY, name TEXT, price REAL)''')
# 插入数据
cursor.execute("INSERT INTO products VALUES (1, '鼠标', 49.8)")
# 提交事务
conn.commit()
# 查询数据
for row in cursor.execute("SELECT * FROM products"):
print(row)
# 关闭连接
conn.close()
import java.sql.*;
public class SQLiteDemo {
public static void main(String[] args) throws Exception {
Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:test.db");
Statement stmt = conn.createStatement();
stmt.executeUpdate("CREATE TABLE IF NOT EXISTS books (id INTEGER, title TEXT)");
PreparedStatement ps = conn.prepareStatement("INSERT INTO books VALUES(?, ?)");
ps.setInt(1, 1);
ps.setString(2, "SQLite指南");
ps.executeUpdate();
ResultSet rs = stmt.executeQuery("SELECT * FROM books");
while(rs.next()) {
System.out.println(rs.getString("title"));
}
conn.close();
}
}
DB Browser for SQLite:图形化界面工具
SQLiteStudio:跨平台专业工具
VS Code扩展:
合理使用事务:
BEGIN TRANSACTION;
-- 批量操作...
COMMIT;
建立适当索引:
CREATE INDEX idx_username ON users(name);
调整PRAGMA参数:
PRAGMA journal_mode = WAL; -- 使用Write-Ahead Logging模式
PRAGMA synchronous = NORMAL;
PRAGMA cache_size = -8000; -- 设置8MB缓存
避免常见陷阱:
VACUUM
命令整理碎片提示:虽然SQLite功能强大,但对于需要高并发写入或分布式场景,建议考虑MySQL/PostgreSQL等数据库系统。 “`
(全文约1050字,实际可根据需要增减内容)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。