浅显易懂 SQLite3 笔记(01)— SQLite3简介及基本操作
文章目录
- 前言
- 一、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简介及基本操作相关推荐
- Mongodb 笔记01 MongoDB 简介、MongoDB基础知识、启动和停止MongoDB
MongoDB 简介 1. 易于使用:没有固定的模式,根据需要添加和删除字段更加容易 2. 易于扩展:MongoDB的设计采用横向扩展.面向文档的数据模型使它能很容易的再多台服务器之间进行分割.自动处 ...
- 1.Ehcache(01)——简介、基本操作
转自:https://blog.csdn.net/w1014074794/article/details/51086228 Ehcache简介 目录 1 CacheManager 1.1 ...
- JSP学习笔记01 - JSP简介及运行环境配置
一.什么是JSP 1.jsp简介 JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导.许多 ...
- 浅显易懂 SQLite3 笔记(07)— 数据库视图简介及操作
文章目录 前言 一.数据库系统的三级模式 二.视图定义和作用 1.什么是视图? 2.视图的作用? 三.SQL语句操作视图 1.创建视图 2.查询视图 3.更新视图 4.修改视图 5.删除视图 总结 前 ...
- 浅显易懂 SQLite3 笔记(08)— 数据库三大范式
文章目录 前言 一.函数依赖 1.第一定义 2.第二定义 3.第三定义 二.数据库范式 1.第一范式 2.第二范式 3.第三范式 4.范式关系图 5.范式对查询的影响 总结 前言 本篇,我们将学 ...
- 浅显易懂 SQLite3 笔记(03)— SQL数据查询(超级详细)
文章目录 前言 一.单表查询 1. 选择表中的若干列(投影) 2. 选择表中的若干元组(选择) 3.ORDER BY 子句 4.聚集函数 5.GROUP BY 子句 二.连接查询 1.等值连接 2.自 ...
- Tomcat学习笔记01【Web相关概念、Tomcat基本操作】
Java后端 学习路线 笔记汇总表[黑马程序员] Tomcat学习笔记01[Web相关概念.Tomcat基本操作][day01] Tomcat学习笔记02[Tomcat部署项目][day01] 目录 ...
- JavaScript学习笔记01【基础——简介、基础语法、运算符、特殊语法、流程控制语句】
w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...
- MyBatis-学习笔记01【01.Mybatis课程介绍及环境搭建】
Java后端 学习路线 笔记汇总表[黑马程序员] MyBatis-学习笔记01[01.Mybatis课程介绍及环境搭建][day01] MyBatis-学习笔记02[02.Mybatis入门案例] M ...
最新文章
- ubuntu 安装 Terminator
- 《青春飞扬》诗集出版历程与思考分享 之三:游记、感悟与思考
- 提升平面设计思维能力的实用技巧
- 几个机器学习算法及应用领域相关的中国大牛
- C++ class实现双亲表示法
- python删除列表空元素_Python 如何删除列表中的空值
- vSAN其实很简单-Quickstart是一件很炫的东西
- 图像处理随笔——颜色空间
- 推理游戏---个人解答
- Java贪吃蛇小游戏,我家小AD从小水蛇成长为水中巨蟒!
- 深度学习与计算机视觉教程(2) | 图像分类与机器学习基础(CV通关指南·完结)
- 自然数简化到素数:黎曼猜想RiemannHypothesis及其解释(公号回复“黎曼猜想”下载PDF经典收藏版彩标资料)
- 各种类型数据库以及其适用场景
- 缠中说禅:三个买点和三个卖点(修改版)
- stm32写字机器人资料 主控stm32f103c8t6 包含程序
- QModelIndex/Role/Model介紹一
- codevs 4246
- Android Studio实现简单计算器
- 生活随机 - 下雨天的心情有烦恼有感动有确幸
- 计算机专业必须做毕业设计吗,可以写和本专业无关的论文吗_计算机系的可以写别的系的论文吗_毕业论文一定要写和专业相关的吗...
热门文章
- [机缘参悟-23]:鬼谷子-反应篇-动静之术、说听结合、沉默是金
- iPhone 5S真机曝光 采用苹果A7处理器
- SAP CK11N如何修改标准价格
- linux 我的世界 跨平台联机,我的世界跨平台能联机吗 跨操作系统联机方法
- B站科普区优质科普(技术区)UP主挖掘分析
- 添加网络打印机方法及失败问题解决
- vant 引进单个样式_Vant 定制主题
- PowerPoint无法兼容mathtype以及mathtype是灰色的解决办法
- 其他国产品牌会用鸿蒙系统吗,鸿蒙系统发布,为什么没有看到其他国产品牌表态支持?...
- bzoj4518【SDOI2016】征途