作者主页: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下载安装将在第二节进行讲解,以上内容可供初学者简单做个了解,谢谢支持!

【SQLite预习课1】SQLite简介——MySQL的简洁版相关推荐

  1. 【SQLite预习课2】SQLite 和 HeidiSQL 的安装

    作者主页:Designer 小郑 作者简介:浙江某公司软件工程师,负责开发管理公司OA.CRM业务系统,全栈领域优质创作者,CSDN学院.蓝桥云课认证讲师,开发过20余个前后端分离实战项目,主要发展方 ...

  2. python影视数据爬虫sqlite源码+论文(完整版和简洁版)

    python影视数据爬虫sqlite源码+论文(完整版和简洁版)-99源码网,程序代做,代写程序代码,代写编程,代写Java编程,代写php编程,计算机专业代做,计算机毕业设计,网站建设,网站开发,程 ...

  3. 【SQLite预习课3】SQLite 的常用语法

    作者主页:Designer 小郑 作者简介:软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发(Vue.SpringBoot和微信小程序).系统定制.远程技术指导.CSDN学院 ...

  4. RDBMS之SQL:SQL语言的各种方言的简介(MySQL/Hive SQL/PQL/OracleSQL/SQLite影响力排序)、主流语言的对比之详细攻略

    RDBMS之SQL:SQL语言的各种方言的简介(MySQL/Hive SQL/PQL/OracleSQL/SQLite影响力排序).主流语言的对比之详细攻略 目录 SQL语言的各种方言的简介 1.My ...

  5. SQLite之C#连接SQLite

    SQLite之C#连接SQLite 2015-05-05 17:52  糯米粥  阅读(40651)  评论(1)  编辑  收藏 我的程序突然不能访问数据库了,回过头来再看这文章,才知道是自己的几天 ...

  6. 轻量级数据库sqlite,spring boot+sqlite的配置详解 (一)

    spring boot+sqlite的配置,及成功运行详解 sqlite数据库的安装与调试 首先,通过sqlite官方地址下载对应的安装包 https://www.sqlite.org/downloa ...

  7. JumpServer1.5.8堡垒机专题课--prometheus监控主机和MySQL

    JumpServer1.5.8堡垒机专题课--prometheus监控主机和MySQL

  8. php读取加密sqlite,加密你的SQLite

    关于sqlite sqlite是一个轻量的.跨平台的.开源的数据库引擎,它的在读写效率.消耗总量.延迟时间和整体简单性上具有的优越性,使其成为移动平台数据库的最佳解决方案(如iOS.Android). ...

  9. android sqlite加密数据库,Android Sqlite数据库加密

    Android使用的是开源的SQLite数据库,数据库本身没有加密,加密思路通常有两个: 1. 对几个关键的字段使用加密算法,再存入数据库 2. 对整个数据库进行加密 SQLite数据库加密工具: 收 ...

最新文章

  1. 一 梳理 从 HDFS 到 MR。
  2. 【数据结构】关键路径
  3. 建立循环单链表(尾插法)
  4. Windows 多种版介绍
  5. python游戏编程入门 免费-Python游戏编程入门4
  6. An Implementation of Double-Array Trie
  7. BigDecimal add方法问题:调用add后,求和结果没变
  8. HDFS(名称节点与数据节点)简介
  9. mysql内置时间函数大全_MySQL 的时间函数 大全
  10. 2018.7.3 JS实现增删改查没有连接数据库
  11. 学计算机的学期计划书,学习计划表
  12. Arturia V Collection 8 for mac - Arturia系列合成器插件大合集
  13. 根据模板提示,加入元素,修改CSS
  14. 蓝桥杯题目常用API (JAVA)
  15. 小猫钓鱼纸牌游戏java_C语言实现纸牌游戏(小猫钓鱼)
  16. 小米手机linux驱动下载,小米手机驱动下载
  17. 时间格式 yyyy-MM-dd'T'HH:mm:ss.SSSZ 中的T和Z表示什么
  18. python就业班-淘宝-目录.txt
  19. Day621.Spring Test 常见错误 -Spring编程常见错误
  20. 财务报表OCR识别平台案例之安徽征信

热门文章

  1. 熊磊:成功移植 OpenHarmony 到多套开发板,是最开心的事
  2. Linux下删除一个文件夹命令
  3. Python在线聊天室
  4. Android 按关键字或文件后缀搜索文件
  5. 台北房价窥北京未来:调控阻止不了高房价
  6. Json2:使用gson解析为List和Map
  7. nested exception is java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/exc/Invalid.....
  8. python opencv如何读取透明png图片以及如何编辑透明度
  9. 香帅的北大金融学课笔记1 -- 金融世界观
  10. java版本实现推箱子小游戏