【SQLite】一、SQLite简介——MySQL的简洁版

news2024/11/24 17:58:24

作者主页:Designer 小郑
作者简介:浙江某公司软件工程师,负责开发管理公司OA、CRM业务系统,全栈领域优质创作者,CSDN学院、蓝桥云课认证讲师,开发过20余个前后端分离实战项目,主要发展方向为Vue、SpringBoot、微信小程序,期待你我共同成长!
主打方向:Vue、SpringBoot、微信小程序

在这里插入图片描述


一、SQLite 是什么

SQLite 是一个不需要服务器不需要配置不需要外部依赖的开源SQL数据库引擎。

  • 不需要服务器:如MySQL安装后,会在操作系统中创建一个进程 mysqld.exe,而 SQLite 不需要创建。
  • 不需要配置:如MySQL安装后,需要配置端口、用户名、密码等,而 SQLite 不需要进行配置,它是存储在磁盘上的文件,不需要安装,直接可用。
  • 不需要外部依赖:SQLite 是自给自足的,不需要任何外部的依赖。

另外:

  • SQLite 支持 MySQL 拥有的大多数功能。

  • 允许多个进程/线程安全访问,支持事务机制。

  • 允许多门开发语言调用,支持 JDBC

  • 支持 WindowsLinux 等多个操作系统上运行。

在这里插入图片描述


二、SQLite 的历史

SQLite 在 2000 年 8 月 被设计出来,SQL代表着数据库,Lite 在英文中代表着 轻量级清淡的 的意思,所以 SQLite 的设计初衷就是和 MySQL、SQL Server 相比重量非常轻。

2000 年, D. Richard Hipp 设计 SQLite 是为了不需要管理即可操作程序。
2000 年 8 月,SQLite1.0 发布 GNU 数据库管理器(GNU Database Manager)。
2011 年 Hipp 宣布,向 SQLite DB 添加 UNQl 接口,开发 UNQLite(面向文档的数据库)。

在这里插入图片描述


三、SQLite 的命令

SQLite 的命令可以对标 SQL,包括了 CREATE、ALTER、SELECT、INSERT、UPDATE、DELETE等。

和 SQL 一样,可以分为 DDL(数据定义语言)、DML(数据操作语言)、DQL(数据查询语言)。

在这里插入图片描述

3.1 DDL——数据定义语言

3.1.1 CREATE

CREATE 命令用于创建一张新的数据库表,也可以用于创建一张数据库表的视图。

3.1.2 ALTER

ALTER 命令用于修改数据库一张已存在的表,支持更新表的字段名称、更新字段类型等操作。

3.1.3 DROP

DROP 命令用于删除数据库一张已存在的表,或者删除数据库表的视图。

在这里插入图片描述

3.2 DML——数据操作语言

3.2.1 INSERT

INSERT 命令用于在一张已存在的数据表中新增一条记录。

3.2.2 UPDATE

UPDATE命令用于在一张已存在的数据表中修改一条记录。

3.2.3 DELETE

DELETE命令用于在一张已存在的数据表中删除一条记录。

在这里插入图片描述

3.3 DQL——数据查询语言

3.3.1 SELECT

SELECT命令用于在若干张已存在的数据表中查询若干记录。


四、SQLite 的语法示例

本章将演示 SQLite 部分语法,完整演示在接下来的章节中逐步进行。

在这里插入图片描述

4.1 数据库层级——创建数据库

可以使用 .open 命令创建新的数据库,也可以用来打开已存在的数据库。

.open test.db

如下图所示。
在这里插入图片描述
执行后,SQLite 的安装目录下会出现 test.db 文件,如下图所示。

在这里插入图片描述
数据库创建完成后,可以使用 .databases 命令查看已创建的数据库列表,如下图所示。

在这里插入图片描述

在这里插入图片描述

4.2 数据表层级——创建学生表

SQLite 的 DDL(数据定义语言)可以帮助我们为数据库创建表,基本语法如下所示。

CREATE TABLE 数据库名.表名(
   字段名1 数据类型  PRIMARY KEY(主键),
   字段名2 数据类型,
   字段名3 数据类型,
   .....
   字段名N 数据类型,
);

比如需要创建一个学生表,学生有学号、姓名、年龄、手机号字段,创建的语句如下。

CREATE TABLE test.student(
   CODE CHAR(50)  PRIMARY KEY NOT NULL,
   NAME CHAR(50) NOT NULL,
   AGE INT NOT NULL,
   mobile CHAR(50) NOT NULL
);

输入命令后按回车即可,如下图所示。
在这里插入图片描述
接着可以使用 .tables 命令查看已创建的数据库列表,如下图所示。
在这里插入图片描述

在这里插入图片描述

4.3 数据层级——新增学生数据

SQLite 的 INSERT INTO 语句可以帮助我们向数据库的表中新增新的数据。

语句的基本语法是

INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)
VALUES (value1, value2, value3,...valueN);

或者可以省略列名,变成这样,这个语法和 SQL 比较类似。

INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);

如果要新增一位学生,学号为 001,姓名为 zwz,年龄为 18,手机为 13600000001,则新增语句为

INSERT INTO student (CODE, NAME, AGE, MOBILE)
VALUES ('001', 'ZWZ', 18, '13600000001');

执行后,若没报错则为成功,如下图所示。
在这里插入图片描述
最后可以使用 SELECT 语句查询新增的数据,如下所示。

SELECT * FROM "test"."student" LIMIT 1000;

在这里插入图片描述


五、小结

SQLite 虽然没有像 MySQLSQL ServerOracle 那样热门,但 SQLite 也有它的优势,比如所占体积小免安装等,有着自己的使用场景,值得被开发者去学习。

SQLite下载安装将在第二节进行讲解,以上内容可供初学者简单做个了解,谢谢支持!

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/28161.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PTA题目 寻找250

对方不想和你说话,并向你扔了一串数…… 而你必须从这一串数字中找到“250”这个高大上的感人数字。 输入格式: 输入在一行中给出不知道多少个绝对值不超过1000的整数,其中保证至少存在一个“250”。 输出格式: 在一行中输出第…

openEuler 通过Rook在k8s集群部署Ceph

openEuler 版本号: 2209 前置条件 k8s集群版本 kubectl version Server Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.12", GitCommit:"b058e1760c79f46a834ba59bd7a3486ecf28237d", GitTreeState:"clean&…

图片加水印怎么弄?小白都会的加水印方法

现在给图片添加水印很重要,因为我们辛苦拍摄的照片或视频很容易被其他人转发,而他们无需注明出处和原作者,因此很容易误导浏览者,让他们以为这些照片是“转载者”拍摄的。这样其实对原作者很不公平,如果不添加水印&…

C语言 9 —— 函数

把相同业务功能维度的代码有机的整合起来做成函数,这样做既可以方便反复调用,又可以在空间上节省代码行数。 函数的定义: 返回值类型 函数名(参数类型1 参数变量名1, ....参数类型N 参数变量N){ //此处参数为形参// 函数体.... } 如果不需…

【强化学习论文清单】AAAI-2022 | 人工智能CCF-A类会议(附链接)

人工智能促进会(AAAI)成立于1979年,前身为美国人工智能协会(American Association for Artificial Intelligence),是一个非营利性的科学协会,致力于促进对思想和智能行为及其在机器中的体现的潜在机制的科学理解。AAAI旨在促进人工智能的研究…

【构建ML驱动的应用程序】第 5 章 :训练和评估模型

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

Linux 文件系统与inode,软硬链接

目录 磁盘的结构 磁盘的抽象(虚拟,逻辑)结构 分区 Block Group 块组: 分析: 文件名 vs inode编号 创建/删除/查看 一个文件,操作系统做了什么? 软硬链接 软连接 硬链接 对比&#xf…

Devart IBDac数据访问组件库

Devart IBDac数据访问组件库 IBDAC是一个完整的InterBase(和FireBird)数据访问组件库,用于将程序连接到FireBird、InterBase和Yaffil。该库有Dolphin、CBuilder、Lazarus和Free Pascal版本,可用于32/64位Windows、Mac OS X、iOS、Android、Linux和FreeBS…

Nacos Config--服务配置

目录 服务配置中心介绍 Nacos Config入门 Nacos Config深入 配置动态刷新 配置共享 nacos的几个概念 创建命名空间(Namespace) 命名空间 组 Nacos多环境切换 如何解决不同环境配置不同 如何解决不同环境配置相同 不同微服务相同配置共享 bootstrap 总结 服务配置…

融云 IM 和 RTC 服务,「助攻」智能物流等客户打通链路、完善生态

关注公众号报名融云&艾瑞“政企数智办公研究报告及新品发布会” 移动互联网时代,通信技术已经突破传统优势项“社交泛娱乐场景”的应用范围,在不同的业务中大放异彩,起到打通链路的关键作用。关注【融云全球互联网通信云】回复【融云】抽…

【数据挖掘】分类与回归预测

OutLine 章节概述1分类与预测2关于分类与预测中存在的问题3决策树分类4贝叶斯分类5BP网络分类6其他分类算法7预测8准确性与误差Chapter 1. 分类与预测 分类 预测分类标签,可以是离散数据或者是名义数据根据训练集和分类属性中的类标签对记录进行分类,…

【构建ML驱动的应用程序】第 6 章 :调试 ML 问题

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

iTOP2K1000开发板Makefile文件

Makefile 就是描述了整个工程编译连接等规则的文件。 我们在终端输入完 make 命令之后,会调用 make 工具, make 就会在当前目录按照文件名就会找 makefile 文件, Makefile 的命名必须是 makefile 或 Makefile , m 大写小写都是可以…

ubuntu+Docker部署Django+Vue项目(1-Vue)

文章目录ubuntu安装下载Docker1.卸载(清除旧版本。没下载过也可以执行下试试)2.更新apt包索引并安装包,以允许apt通过HTTPS使用存储库3.添加Docker的官方GPG密钥4.使用以下命令设置存储库5.更新apt包索引6.安装最新版本的Docker Engine、containerd和Docker Compose…

概率论发展史上的几个重要悖论

1. 蒙提霍尔问题(三门问题) 三门问题(Monty Hall problem)亦称为蒙提霍尔问题、蒙特霍问题或蒙提霍尔悖论,大致出自美国的电视游戏节目Lets Make a Deal。问题名字来自该节目的主持人蒙提霍尔(Monty Hall&…

数字图像处理(十)腐蚀和膨胀

文章目录前言一、腐蚀1.概念2.算法的具体步骤3.举例4.python代码二、膨胀1.概念2.算法步骤3.举例4.C代码5. 结果展示参考资料前言 二值图像中一类主要处理是对提取的目标图形进行形态分析。形态学处理中最基本的是腐蚀和膨胀。   腐蚀和膨胀是两个互为对偶的运算。腐蚀的作用…

g++无法找到动态库问题

文章目录一、错误发现二、include两种查找方式三、路径1.gcc与g路径2.头文件路径(1)默认路径(2)使用-l指定路径寻找。(3)gcc搜索头文件的顺序3.库文件路径(1)默认路径(2)编译时指定路径(3)在配置文件中指定路径(4)通过环境变量(5)查找顺序一、错误发现 在使用各种各样的C库的时…

栈进阶:ElasticSearch

栈进阶:ElasticSearch 文章目录前言一、学习ES1、ES课程简介2、聊聊Lucene创始人3、ES概述1、历史2、谁在使用3、ELK简介4、Solr和ES的差别1、ES简介2、Solr简介3、Lucene简介4、ElasticSearch与Solr比较5、ES安装及head插件安装1、ES安装2、Window下安装3、安装可视…

【深入浅出Spring6】第十期——尾声

一、Spring集成了Junit 之前我们只是使用Junit的测试注解 Test&#xff0c;并没有使用Spring对于Junit的支持 Spring6既支持Junit4、也支持Spring5 要想使用Spring对于Junit的支持&#xff0c;我们需要在pom中导入相关依赖 <!--我们引入Spring对junit支持的依赖 >> …

[LeetCode/力扣][Java] 0315. 计算右侧小于当前元素的个数(Count of Smaller Numbers After Self)

题目描述&#xff1a; 给你一个整数数组 nums &#xff0c;按要求返回一个新数组 counts 。数组 counts 有该性质&#xff1a; counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。 示例1&#xff1a; 输入&#xff1a;nums [5,2,6,1] 输出&#xff1a;[2,1,1,0] 解释&…