文章目录

  • 前言
  • 一、SQLite数据库
    • 1.什么是SQLite?
    • 2.为什么要用SQLite?
    • 3.如何使用SQLite?
  • 二、SQLite语言及基本操作
    • 1.SQLite命令
    • 2.SQLite类型
    • 3.SQLite约束
    • 4.SQLite语句(部分)
    • 5.其他
  • 总结

前言

   在日常生活中,我们会发现任何一款软件的应用都离不开数据存储及管理,大到软件登录时的用户数据验证,小到玩游戏时的通关进度保存,都使用了数据库及数据库管理系统。本篇,我们将向大家介绍一款轻量级数据库——SQLite3及其基本操作。


一、SQLite数据库

1.什么是SQLite?

   SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎(来源百度百科)。它是一款轻量级数据库,所占资源低消耗总量小,被用于嵌入式开发

2.为什么要用SQLite?

  • 百度百科查询结果如下:

(1)SQLite 不需要配置,这意味着不需要安装或管理。

(2)SQLite 是自给自足的,这意味着不需要任何外部的依赖。

(3)SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能。

(4)SQLite 使用 ANSI-C 编写的,并提供了简单和易于使用的 API。

(5)SQLite 事务是完全兼容 ACID 的,允许从多个进程或线程安全访问。

(6)SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。

(7)SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中运行。

  • 作者使用SQLite个人原因:

(1)作为一名嵌入式相关专业的学生,以及即将毕业有可能从事嵌入式岗位的准从业人员。根据SQLite的特性,从众多知名数据库中选择了SQLite数据库进行学习。

(2)在使用数据库之前,作者在进行C/C++编码时所采用的数据管理和存储方式为利用C++内的自带容器对数据进行初始化,在源文件外创建文本文件进行静态数据存储。但该做法安全性较低,容易造成数据丢失和被非法使用。

(3)在软件开发过程中,只在源文件中预留数据接口,通过数据库管理系统进行数据的增删改查等一系列操作,实现了数据与界面分离,这样做能够解放界面编程,更好的实现界面的可视化。

3.如何使用SQLite?

作者在Windows下使用Navicat15软件进行操作SQLite数据库。(关注私聊作者获取Navicat15安装包

Navicat Premium 软件操作:

  • 在Windows本地创建SQL脚本文件,编写好脚本代码后,导入Navicat软件
  • 在Navicat软件创建好数据表,再将数据表导出为SQL脚本文件(*.sql)
  • 在Navicat15逆向表到模型,查看表的数据结构,如下图所示。

二、SQLite语言及基本操作

1.SQLite命令

  • DLL - 数据定义语言

   (1)CREATE,创建一个新的表、一个表的视图,或者数据库中的其他对象
   (2)ALTER,修改数据库中的某个已有数据对象,比如一个表。
   (3)DROP,删除整个表、表的视图,或者数据库中的其他对象。

  • DML - 数据操作语言

   (1)INSERT,创建一条记录
   (2)UPDATE,修改记录
   (3)DELETE,删除记录

  • DQL - 数据查询语言

    SELECT,从一个或多个表中检索某些记录

2.SQLite类型

  • NULL,值是一个 NULL 值。
  • BLOB,值是一个 blob 数据,完全根据它的输入存储。
  • REAL,值是一个浮点值,存储为 8 字节的 IEEE 浮点数字(兼容float,numeric)。
  • INTEGER,值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中(兼容int和smallint)。
  • TEXT,值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储(兼容Varchar(6),char(6))。

3.SQLite约束

  • NOT NULL约束,确保某列不能为空。
  • CHECK 约束,确保某列中的所有值满足一定条件。
  • UNIQUE 约束,确保某列中的所有值不同(唯一)。
  • PRIMARY KEY 约束,唯一标识数据库表中的各行记录。
  • DEFAULT 约束,当某列没有指定值,为该列提供默认值。

4.SQLite语句(部分)

(1)创建表语句

 CREATE TABLE IF NOT EXISTS student(id INTEGER PRIMARY KEY,name TEXT NOT NULL);

语句解释:如果数据库内不存在student表,则创建该表。表中包含两个字段,第一个字段名为id,数据类型为INTEGER,是该表的主键字段;第二个字段名为name,数据类型为TEXT,该字段存在NOT NULL约束,即该字段的数据不能为空。

(2)数据插入语句

 INSERT INTO student(id,name)values(1001,'admin');

语句解释:在student表中的id和name字段中,插入数据1001,‘admin’。(注:TEXT类型数据要使用单引号)

(3)数据查询语句

 SELETE * FROM student;SELETE id FROM student;SELETE id,name FROM student;

语句解释:*为通配符,代表查询student表中的所有字段。

5.其他

  • SQLite语句注释符:在语句前加上--
  • 自增关键字AUTOINCREMENT,在字段后加入该关键字可以实现自增
  • Linux系统下的SQLite操作,如下图所示。

总结

   以上就是浅显易懂 SQLite3 笔记(01)— SQLite3简介及基本操作的所有内容,希望大家阅读后都能有所收获!原创不易,转载请标明出处,若文章出现有误之处,欢迎读者留言指正批评!

浅显易懂 SQLite3 笔记(01)— SQLite3简介及基本操作相关推荐

  1. Mongodb 笔记01 MongoDB 简介、MongoDB基础知识、启动和停止MongoDB

    MongoDB 简介 1. 易于使用:没有固定的模式,根据需要添加和删除字段更加容易 2. 易于扩展:MongoDB的设计采用横向扩展.面向文档的数据模型使它能很容易的再多台服务器之间进行分割.自动处 ...

  2. 1.Ehcache(01)——简介、基本操作

    转自:https://blog.csdn.net/w1014074794/article/details/51086228 Ehcache简介 目录 1       CacheManager 1.1  ...

  3. JSP学习笔记01 - JSP简介及运行环境配置

    一.什么是JSP 1.jsp简介 JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导.许多 ...

  4. 浅显易懂 SQLite3 笔记(07)— 数据库视图简介及操作

    文章目录 前言 一.数据库系统的三级模式 二.视图定义和作用 1.什么是视图? 2.视图的作用? 三.SQL语句操作视图 1.创建视图 2.查询视图 3.更新视图 4.修改视图 5.删除视图 总结 前 ...

  5. 浅显易懂 SQLite3 笔记(08)— 数据库三大范式

    文章目录 前言 一.函数依赖 1.第一定义 2.第二定义 3.第三定义 二.数据库范式 1.第一范式 2.第二范式 3.第三范式 4.范式关系图 5.范式对查询的影响 总结 前言    本篇,我们将学 ...

  6. 浅显易懂 SQLite3 笔记(03)— SQL数据查询(超级详细)

    文章目录 前言 一.单表查询 1. 选择表中的若干列(投影) 2. 选择表中的若干元组(选择) 3.ORDER BY 子句 4.聚集函数 5.GROUP BY 子句 二.连接查询 1.等值连接 2.自 ...

  7. Tomcat学习笔记01【Web相关概念、Tomcat基本操作】

    Java后端 学习路线 笔记汇总表[黑马程序员] Tomcat学习笔记01[Web相关概念.Tomcat基本操作][day01] Tomcat学习笔记02[Tomcat部署项目][day01] 目录 ...

  8. JavaScript学习笔记01【基础——简介、基础语法、运算符、特殊语法、流程控制语句】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

  9. MyBatis-学习笔记01【01.Mybatis课程介绍及环境搭建】

    Java后端 学习路线 笔记汇总表[黑马程序员] MyBatis-学习笔记01[01.Mybatis课程介绍及环境搭建][day01] MyBatis-学习笔记02[02.Mybatis入门案例] M ...

最新文章

  1. ubuntu 安装 Terminator
  2. 《青春飞扬》诗集出版历程与思考分享 之三:游记、感悟与思考
  3. 提升平面设计思维能力的实用技巧
  4. 几个机器学习算法及应用领域相关的中国大牛
  5. C++ class实现双亲表示法
  6. python删除列表空元素_Python 如何删除列表中的空值
  7. vSAN其实很简单-Quickstart是一件很炫的东西
  8. 图像处理随笔——颜色空间
  9. 推理游戏---个人解答
  10. Java贪吃蛇小游戏,我家小AD从小水蛇成长为水中巨蟒!
  11. 深度学习与计算机视觉教程(2) | 图像分类与机器学习基础(CV通关指南·完结)
  12. 自然数简化到素数:黎曼猜想RiemannHypothesis及其解释(公号回复“黎曼猜想”下载PDF经典收藏版彩标资料)
  13. 各种类型数据库以及其适用场景
  14. 缠中说禅:三个买点和三个卖点(修改版)
  15. stm32写字机器人资料 主控stm32f103c8t6 包含程序
  16. QModelIndex/Role/Model介紹一
  17. codevs 4246
  18. Android Studio实现简单计算器
  19. 生活随机 - 下雨天的心情有烦恼有感动有确幸
  20. 计算机专业必须做毕业设计吗,可以写和本专业无关的论文吗_计算机系的可以写别的系的论文吗_毕业论文一定要写和专业相关的吗...

热门文章

  1. [机缘参悟-23]:鬼谷子-反应篇-动静之术、说听结合、沉默是金
  2. iPhone 5S真机曝光 采用苹果A7处理器
  3. SAP CK11N如何修改标准价格
  4. linux 我的世界 跨平台联机,我的世界跨平台能联机吗 跨操作系统联机方法
  5. B站科普区优质科普(技术区)UP主挖掘分析
  6. 添加网络打印机方法及失败问题解决
  7. vant 引进单个样式_Vant 定制主题
  8. PowerPoint无法兼容mathtype以及mathtype是灰色的解决办法
  9. 其他国产品牌会用鸿蒙系统吗,鸿蒙系统发布,为什么没有看到其他国产品牌表态支持?...
  10. bzoj4518【SDOI2016】征途