HoRain云--SQLite数据库创建全攻略 HoRain云小助手个人主页 个人专栏: 《Linux 系列教程》《c语言教程》⛺️生活的理想就是为了理想的生活!⛳️ 推荐前些天发现了一个超棒的服务器购买网站性价比超高大内存超划算忍不住分享一下给大家。点击跳转到网站。专栏介绍专栏名称专栏介绍《C语言》本专栏主要撰写C干货内容和编程技巧让大家从底层了解C把更多的知识由抽象到简单通俗易懂。《网络协议》本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘一起解密网络协议在运行中协议的基本运行机制《docker容器精解篇》全面深入解析 docker 容器从基础到进阶涵盖原理、操作、实践案例助您精通 docker。《linux系列》本专栏主要撰写Linux干货内容从基础到进阶知识由抽象到简单通俗易懂帮你从新手小白到扫地僧。《python 系列》本专栏着重撰写Python相关的干货内容与编程技巧助力大家从底层去认识Python将更多复杂的知识由抽象转化为简单易懂的内容。《试题库》本专栏主要是发布一些考试和练习题库涵盖软考、HCIE、HRCE、CCNA等目录⛳️ 推荐专栏介绍一、命令行创建数据库1. 基本方法2. 详细步骤二、图形化工具创建数据库1. DB Browser for SQLite2. Navicat for SQLite三、常见问题与解决方案1. 无法打开数据库文件2. 数据库被锁定3. 文件过大问题四、最佳实践与技巧1. 命名规范2. 性能优化3. 备份与恢复五、实用示例1. 创建学生管理系统数据库2. 事务处理示例SQLite创建数据库非常简单无需单独的安装过程只需通过命令行或图形化工具即可快速创建。以下是详细的操作指南一、命令行创建数据库1. 基本方法创建并打开数据库sqlite3 mydatabase.db此命令会创建名为mydatabase.db的数据库文件如果不存在并进入SQLite命令行界面。验证创建成功sqlite3 mydatabase.db SELECT name FROM sqlite_master WHERE typetable;如果返回空结果无表说明数据库已成功创建但为空。2. 详细步骤打开命令行终端输入sqlite3进入SQLite环境使用.open命令创建数据库.open test.db创建表结构CREATE TABLE users ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, age INTEGER );插入测试数据INSERT INTO users (name, age) VALUES (张三, 20);退出SQLite.quit二、图形化工具创建数据库1. DB Browser for SQLite下载安装DB Browser for SQLite最新版3.13.x打开软件点击顶部菜单栏的New Database按钮选择保存位置并命名数据库建议使用小写.sqlite后缀系统会自动弹出Create Table窗口可直接开始设计表结构完成后点击Write Changes或CtrlS保存修改2. Navicat for SQLite打开Navicat for SQLite点击连接 → SQLite → 新建连接选择现有的数据库文件或新建SQLite3指定数据库文件路径和名称点击测试连接验证配置然后点击确定三、常见问题与解决方案1. 无法打开数据库文件原因权限不足解决执行chmod 755 mydb.dbLinux/Mac或检查Windows文件权限2. 数据库被锁定原因多个进程同时写入解决使用WAL模式PRAGMA journal_mode WAL;此模式可显著提高并发性能3. 文件过大问题原因频繁事务导致解决定期执行VACUUM;此命令可压缩数据库文件四、最佳实践与技巧1. 命名规范数据库文件名建议使用小写.db后缀如mydb.db表名使用小写英文如students字段名使用小写英文下划线如created_at2. 性能优化开启WAL模式高并发场景PRAGMA journal_mode WAL;设置合理缓存PRAGMA cache_size -20000; -- 20MB缓存启用严格模式SQLite 3.37PRAGMA strict ON;创建表时添加默认值CREATE TABLE logs ( id INTEGER PRIMARY KEY, message TEXT NOT NULL, created_at TEXT DEFAULT (datetime(now)) );3. 备份与恢复备份数据库.backup backup.db恢复数据库.restore backup.db定期备份脚本cp mydb.db backup_$(date %F).db五、实用示例1. 创建学生管理系统数据库-- 创建数据库 sqlite3 school.db -- 创建表 CREATE TABLE classes ( id INTEGER PRIMARY KEY, name TEXT NOT NULL ); CREATE TABLE students ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, class_id INTEGER, FOREIGN KEY(class_id) REFERENCES classes(id) ); -- 插入数据 INSERT INTO classes (name) VALUES (高一1班), (高一2班); INSERT INTO students (name, class_id) VALUES (王五, 1); -- 查询数据 SELECT s.name, c.name FROM students s JOIN classes c ON s.class_id c.id; -- 退出 .quit2. 事务处理示例BEGIN TRANSACTION; -- 执行多个操作 INSERT INTO users (name, age) VALUES (李四, 22); UPDATE users SET age 23 WHERE name 李四; COMMIT;事务确保操作的原子性和数据一致性SQLite的零配置特性使其成为嵌入式系统、移动应用和桌面应用的理想选择创建数据库过程简单快捷几分钟内即可完成配置并开始使用。重要提示数据库文件路径不要包含中文或空格否则可能导致命令失效创建后建议立即设置WAL模式以提高并发性能。❤️❤️❤️本人水平有限如有纰漏欢迎各位大佬评论批评指正如果觉得这篇文对你有帮助的话也请给个点赞、收藏下吧非常感谢! Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧