sqlite3嵌入式开发板命令行方式使用

如何在编译嵌入式版本的sqlite3,请看我上一篇文章

sqlite3 交叉编译-CSDN博客

一、sqlite3命令行方式使用

假如我将编译好的嵌入式的sqlite3放置在如下路径:

进入bin目录进行操作

1.运行sqlite3

运行sqlite3有两种方式

1)直接在内存里面进行数据库操作

执行 ./sqlite3 即可

但是此方式进行的所有操作随着sqlite退出而销毁

2)以本地保存数据库方式进行数据库操作

执行./sqlite3 (表名)

2.退出

直接输入命令 .exit (注意前面有个点)

如果输错命令,进入...-> 提示符,这通常意味着你正在输入一个尚未完成的 SQL 语句。想要退出,可以输入一个 ; 然后敲回车。或者输入.quit 或 .exit 来退出 SQLite3.但有的并不支持,这时候可以按 ctrl+z 强制退出,但这时候是sqlite3,而非当前状态,此命令会导致数据没有保存就退出,慎用

如果输错命令,按 backspace时候出现乱码,那么试试按住 Ctrl+退格键 进行删除

3.创建表格

create table命令创建表格,具体命令示例为

CREATE TABLE 表名 (

列名1 数据类型,

列名2 数据类型,

列名3 数据类型,

...

); //列名后面跟此列的数据类型,以空格隔开,且列与列直接用,分开。命令最后有个分号

例如:create table student(age integer, name text, id integer);

4.插入/增加数据

insert into命令插入一行数据项,具体命令示例为

insert into 表名(列名1,列名2,列名3,......) values (值1,值2,值3,......);

如果说依次添加所有列数据,可以不写列名,即

insert into 表名 vlaues (值1,值2,值3,......);

如果想一次添加多行数据,则values后面的值用 , 分开即可

insert into 表名 (列名1,列名2,......) values(值1,值2,...),(值1,值2,......);

注意:字符串应该用 单引号 引用

5.查询数据项

用select命令,具体命令示例为

select 列名 from 表名 条件;

如果想查询整张表,可以用 * 代替所以

select * frome student;

查询age和name列

select age ,name from student;

查询年龄大于30的信息

select * from student where age>30;

6.删除数据项

用delete from命令删除数据,具体命令示例为

delete from 表名 where 条件;

比如,删除年龄为55的数据项

delete frome student where age=55;

注意:DELETE FROM命令会永久删除记录,所以在执行之前请确保你真的想要删除这些数据,并且已经备份了任何重要的信息。如果没有where条件,则删除表中的所有数据项,慎用。

在实际应用中,为了安全起见,通常建议首先使用SELECT语句来检查将要被删除的数据,确认无误后再执行DELETE命令。

7.修改数据项

用update 命令修改某些数据项,具体命令示例为

update 表名 set 列1=值1,列2=值2,...... where 条件;

比如将id=2的年龄改为25

update student set age=25 where id=2;

8.删除表名

用drop命令删除,具体命令示例为

drop table if exists 表名

方括号内的if exists可以不写

比如删除上面的student数据表

drop table student;

相关推荐
java_logo22 分钟前
Docker 部署 CloudBeaver:轻松搭建网页数据库管理平台
数据库·docker·容器·数据库管理·dbeaver·轩辕镜像·cloudbeaver
李白客2 小时前
AI 数据库落地 NL2SQL:准确率卡在四成,问题在表注释不在模型
数据库
FluxDB2 小时前
FluxDB vs DBX vs DBeaver:GPUI、Tauri、Eclipse 三种技术栈实测
数据库·mysql
杨航 AI2 小时前
JEV的用法
java·前端·数据库
数据库小学妹2 小时前
MySQL分页结果不稳定:唯一键兜底与游标分页
数据库·mysql·dba
风翼靓崽3 小时前
mysql数据备份/恢复
数据库·mysql
贝锐3 小时前
金仓、达梦、TDSQL全适配:向日葵补齐信创数据库层远程运维能力
运维·数据库·信创
xixiaoyunya4 小时前
Redis缓存三大问题实战:穿透、击穿、雪崩,我用一个电商秒杀场景讲清楚
数据库·redis·缓存
这个DBA有点耶5 小时前
Merge还是Materialize?一文讲透MySQL 8.0 CTE底层的执行计划博弈与性能陷阱
数据库·mysql·架构
Thanks_ks6 小时前
MySQL 的 REPEATABLE READ 到底能不能防幻读——从快照读、当前读到 Next-Key Lock
数据库·mysql·innodb·mvcc·锁机制·事务隔离级别·间隙锁