当前位置: 首页 > news >正文

sqlite3学习---基础知识、增删改查和排序和限制、打开执行关闭函数

目录

 一、数据库基础知识

1.分类

2.名词

3.嵌入式数据库

4.特点

5.sqlite3的安装

5.1在线安装 

5.2编译

5.3验证是否安装成功

5.4sqlite3的使用

6.创建一个数据库

7.系统维护命令

二、数据库的创建和删除

1.创建一个表

1.1用法

1.2代码示例

2.删除一个表

2.1用法

三、数据库的常规操作:增加,删除,修改,查询

1.向表中增加数据

1.1用法

1.2代码示例

2. 删除表中数据

2.1用法

2.2代码示例

3.修改表中数据

3.1用法

3.2代码示例

4.查询表中的数据

4.1用法

4.2代码示例

5.排序

5.1用法

5.2代码示例

6.限制

6.1用法

6.2代码示例

四、插入时间列

1.用法

2.代码示例

五、自动增长列

1.用法

2.代码示例

六、sqlite3 数据库编程接口

1.需要的头文件

2.编译过程

3.编程框架

3.1 打开数据库---sqlite3_open

3.1.1函数原型

3.1.2功能

3.1.3参数

3.1.4返回值

3.2执行操作---sqlite3_exec

3.2.1功能

3.2.2参数

3.2.3返回值

3.2.4注意

3.3 关闭数据库---sqlite3_close

3.3.1函数原型

3.3.2功能

3.3.3参数

3.3.4返回值

4.代码示例

 一、数据库基础知识

1.分类

大型    中型     小型
ORACLE   MYSQL/MSSQL   SQLITE  DBII powdb
关系型数据库        

2.名词

DB 数据库 select update database
DBMS 数据库管理系统
MIS     管理信息系统
OA      办公自动化

3.嵌入式数据库

sqlite3    www.sqlite.org  www.kernal.org
GNU   

4.特点

  1)开源  C语言开发
  2)代码量少 1万行左右,总大小10M以内
  3)绿色软件无需安装
  4)文件型数据库,可以移动。
  5)数据容量最大 2T   

5.sqlite3的安装

LTS long term support 

5.1在线安装 

sudo apt-get install sqlite3 
sudo apt-get install libsqlite3-dev

5.2编译

gcc test.c -lsqlite3 -lpthread

5.3验证是否安装成功

sqlite3 --version
sqlite3 --help

5.4sqlite3的使用

1)启动sqlite3 
sqlite3 xxx.db  
===>用sqlite3 来打开一个名称为test.db的本地数据库。

2)出现如下提示符:表明数据库管理系统启动。
sqlite> 

3)退出数据库: 
    .q 命令

4)注意:如果一直出现如下符号:
...>   
则写'  ;  '结束。

6.创建一个数据库

1)touch  xxx.db
2)sqlite3 xxx.db

7.系统维护命令

    ===> .help

出现所有相关的系统维护命令,都是以 "."开头。

1).database  列出当前库和系统中那个文件在关联

2).tables    列出当期数据库中的所有表

3).schema xxx 列出当前指定的xxx表结构

4).dump user   ===>导出数据库

5)重定向
sqlite3 test.db .dump > 123.sql
sqlite3 xxx.db < test.sql ===>导入数据库

二、数据库的创建和删除

1.创建一个表

1.1用法

1)create table  表名(表字段1,表字段2,...);

eg: create table user(id,name,age);         char 

注意:以上表的表字段,支持如下数据类型。int text real blob
  默认是text类型。char

2)create table 表名 (表字段 类型,表字段 类型,。。。。);

1.2代码示例

2.删除一个表

2.1用法

drop table  表名;

eg:drop table user;

eg: create table user(id int  ,name char,age int);

三、数据库的常规操作:增加,删除,修改,查询

1.向表中增加数据

1.1用法

insert into 表名 (字段名称 ) values (值名称);

eg:insert into user (id,age) values (1,10);

     insert into user values(3,"wang",11);

     insert into user (age) values ( 12);

1.2代码示例

2. 删除表中数据

2.1用法

delete from 表名  满足条件:

eg:delete from user ;  ///删除表中所有数据
       delete from user where id  = 1; ///删除id=1 的数据;
        delete from user where id =1 and name = "zhang";
        delete from user where id = 1 or id  = 2;

2.2代码示例

3.修改表中数据

3.1用法

update 表名 set 表字段 = 值  满足条件:

eg: update user set id = 1 where name = 'li';
         update user set id = 1 where name = "li" and passwd = "123";
         update user set id = 2 where name = "li" or  name = "zhao";

3.2代码示例

4.查询表中的数据

4.1用法

select 列名 from 表名  条件;

eg:select * from user ;
       select id from user;
       select id,name from user where not  age <30

1)where name

2)like '三一'   

3)通配符:%   、 _ 

4)and   or  & &  ||

5)asc

6)select *from user where age>20 or age<50 order by age desc limit 2 ;

4.2代码示例

模糊查找

5.排序

5.1用法

select *from user order by id; 正序

select *from user order by id desc; 倒序

eg:select *from user where age>20 or age<50 order by age desc limit 2 ;

5.2代码示例

6.限制

6.1用法

where (group by having) order by [desc] limit;

select * from user where id<10 order by id limit 2;  

6.2代码示例

要最后的十个

四、插入时间列

1.用法

CREATE TABLE user1(id int,name char,age int,dt datetime);'2022-07-01 19:00:00'

insert into user1 values (2,'张三',23,datetime('now','+8 hours'));

2.代码示例

五、自动增长列

1.用法

sqlite> CREATE TABLE user3(id INTEGER PRIMARY KEY ASC,name char,age int,dt datetime);  主键 
sqlite> insert into user3 (NULL,'李四',23,datetime('now'));   

2.代码示例

六、sqlite3 数据库编程接口

1.需要的头文件

sqlite3.h

2.编译过程

-lsqlite3

3.编程框架

打开数据库 ==》读写数据库(增,删,改,查) ==》关闭数据库

3.1 打开数据库---sqlite3_open

3.1.1函数原型

int sqlite3_open(char * path,sqlite3 ** db);

3.1.2功能

打开指定path路径+文件名称的数据库,并将打开的地址指向db变量的句柄。

3.1.3参数

path 要打开的数据库路径+名称
db  要打开的数据库地址指针

3.1.4返回值

成功  0
失败  -1;

3.2执行操作---sqlite3_exec

3.2.1功能

该函数用于sqlite3_exec执行select语句的
 结果集返回数据。

3.2.2参数

arg 由sqlite3_exec传入的参数
  f_num 执行该命令所返回测结果集的字段个数。
  f_value 查询结果集中的字段的值。
  f_name  查询结果集中的字段的名称。

3.2.3返回值

成功 0
失败 非0

3.2.4注意

该回调函数必须有返回值,否则可能导致查询异常。

3.3 关闭数据库---sqlite3_close

3.3.1函数原型

int sqlite3_close(sqlite3 *db);

3.3.2功能

关闭指定的数据库

3.3.3参数

要关闭的数据库地址

3.3.4返回值

成功  0
失败  -1;

4.代码示例

http://www.dtcms.com/a/303283.html

相关文章:

  • AAAI 2025多模态重大突破:SENA框架重塑多模态学习,零标注实现自进化
  • 【Python】—— 语法糖
  • 求两数之和
  • R语言与作物模型(以DSSAT模型为例)融合应用高级实战技术
  • window显示驱动开发—Direct3D 11 视频设备驱动程序接口 (DDI)
  • 图片上传 el+node后端+数据库
  • 数据库事务中的陷阱:脏读、幻读与不可重复读
  • 第四章:分析 Redis 性能高原因和核心字符串类型命令
  • 特性阻抗的近似计算
  • 【Linux】协议——TCP/IP协议
  • PTX指令集基础以及warp级矩阵乘累加指令介绍
  • 5G MBS(组播广播服务)深度解析:从标准架构到商用实践
  • 机器学习(重学版)基础篇(算法与模型一)
  • Ansible提权sudo后执行报错
  • 大语言模型(LLM):重塑AI未来的技术革命
  • 11-大语言模型—Transformer 盖楼,BERT 装修,RoBERTa 直接 “拎包入住”|预训练白话指南
  • 【笔记】Handy Multi-Agent Tutorial 第四章 CAMEL框架下的RAG应用(实践)
  • 四、计算机组成原理——第5章:存储系统
  • C++20实战FlamingoIM开发
  • Vue插件与组件核心区别详解
  • 重复文件清理工具,附免费链接
  • 1.2.3 混凝土结构设计构造要求
  • Cesium大气散射效果
  • Datawhale AI夏令营:大模型理解列车排期表
  • Vue组件通信的终极指南
  • Spark SQL 聚合函数:collect_list 与 collect_set 用法详解
  • ADAS测试:如何用自动化手段提升VV效率
  • 04动手学深度学习(下)
  • AOP实现接口幂等
  • B树、B+树、红黑树区别