博客
关于我
sqlite3笔记
阅读量:486 次
发布时间:2019-03-07

本文共 2405 字,大约阅读时间需要 8 分钟。

SQLite数据库安装与使用指南

1. 安装 SQLite

1.1 本地安装

如果你使用的是 Ubuntu 或 Debian 系统,可以通过以下命令安装 SQLite:

sudo dpkg -i *.deb

安装完成后,运行以下命令查看 SQLite 版本:

sqlite3 --version

这将显示 SQLite 的版本信息,确认安装成功。

1.2 在线安装

如果你的系统已经支持包管理工具(如 apt-get),并且你能连接互联网,可以通过以下命令在线安装 SQLite:

sudo apt-get install sqlite3

2. 创建数据库

2.1 创建数据库

运行以下命令创建一个名为 student.db 的数据库:

sqlite3 student.db

注意:数据库文件名可以任意命名,但 student.db 是常用的选择。

3. 数据库基本操作

3.1 系统命令

  • 查看帮助文档:
    .help
  • 退出 SQLite 会话:
    .quit
  • 退出提示:
    .exit
  • 查看当前打开的数据库:
    .databases

3.2 SQL 命令

3.2.1 创建表

  • 创建一个新表 stu
    create table stu(    id integer,    name char,    score integer);
  • 如果表已存在,使用以下命令创建(不会报错):
    create table if not exists student(    id integer,    name char,    score integer);

3.2.2 插入数据

  • 插入一条记录:
    insert into stu values(100, 'zhangsan', 80);
  • 插入特定字段的值:
    insert into stu (name, score) values('zhangsan', 100);

3.2.3 查询数据

  • 查询所有记录:
    select * from stu;
  • 查询指定字段:
    select name from stu;
  • 根据条件查询:
    select * from stu where score = 80;

3.2.4 删除记录

  • 删除整个表:
    delete from stu;
  • 删除特定条件的记录:
    delete from stu where name = 'zhangsan';

3.2.5 修改字段

  • 更新特定记录:
    update stu set name = 'cainiao' where id = 1002;

3.2.6 表操作

  • 添加一列:
    alter table stu add column address char;
  • 删除一列(注意:SQLite 不支持直接删除列,需通过以下步骤操作):
  • 创建新表:
    create table stdu1 as select id, name, score from stu;
  • 删除旧表:
    drop table stu;
  • 重命名新表为旧表名:
    alter table stu1 rename to stu;

4. 编译 SQLite 应用程序

4.1 安装依赖

安装 SQLite 开发库:

sudo apt-get install libsqlite3-dev

4.2 编译源代码

将代码保存为 student_manager.c,运行以下命令编译:

gcc student_manager.c -o student_manager -lsqlite3

5. 使用示例

5.1 创建表

#include 
#include
sqlite3 *db;char *database_path = "student.db";char *table_name = "student";int create_table(char *table_name) { char *sql = "create table if not exists %s(id integer, name char, score integer);", table_name; if (sqlite3_exec(db, sql, NULL, 0, NULL) != SQLITE_OK) { fprintf(stderr, "SQL error: %s\n", sqlite3_errmsg(db)); return -1; } printf("Table created successfully\n"); return 0;}int main() { // 初始化数据库 sqlite3_open(database_path, &db); if (sqlite3_exec(db, "PRAGMA journal_mode = off;", NULL, 0, NULL) != SQLITE_OK) { fprintf(stderr, "无法打开数据库: %s\n", sqlite3_errmsg(db)); return -1; } // 创建表 create_table(table_name); // ... 其他操作 ... sqlite3_close(db); return 0;}

6. 常见问题

  • 权限问题:确保你有权限访问数据库文件。
  • 未安装依赖:检查是否安装了 libsqlite3-dev
  • 数据库文件丢失:请确保数据库文件存在且不被删除。

通过以上步骤,你应该能够顺利安装 SQLite 并使用它来管理你的数据。如果有任何问题,请参考 SQLite官方文档或社区获取帮助。

转载地址:http://lozcz.baihongyu.com/

你可能感兴趣的文章
OpenCV与AI深度学习 | 实用技巧 | 使用OpenCV进行模糊检测
查看>>
OpenCV与AI深度学习 | 实践教程|旋转目标检测模型-TensorRT 部署(C++)
查看>>
OpenCV与AI深度学习 | 工业缺陷检测中数据标注需要注意的几个事项
查看>>
OpenCV与AI深度学习 | 干货 | 深度学习模型训练和部署的基本步骤
查看>>
OpenCV与AI深度学习 | 手把手教你用Python和OpenCV搭建一个半自动标注工具(详细步骤 + 源码)
查看>>
OpenCV与AI深度学习 | 水下检测+扩散模型:或成明年CVPR最大惊喜!
查看>>
OpenCV与AI深度学习 | 深入浅出了解OCR识别票据原理
查看>>
OpenCV与AI深度学习 | 深度学习检测小目标常用方法
查看>>
OpenCV与AI深度学习 | 超越YOLOv10/11、RT-DETRv2/3!中科大D-FINE重新定义边界框回归任务
查看>>
OpenCV与AI深度学习 | 高效开源的OCR工具:Surya-OCR介绍与使用
查看>>
OpenCV与AI深度学习|16个含源码和数据集的计算机视觉实战项目(建议收藏!)
查看>>
Opencv中KNN背景分割器
查看>>
OpenCV中基于已知相机方向的透视变形
查看>>
OpenCV中的监督学习
查看>>
opencv中读写视频
查看>>
OpenCV中遇到Microsoft C++ 异常 cv::Exception
查看>>
opencv之cv2.findContours和drawContours(python)
查看>>
opencv之namedWindow,imshow出现两个窗口
查看>>
opencv之模糊处理
查看>>
Opencv介绍及opencv3.0在 vs2010上的配置
查看>>