【新星计划】跟着学习SQLite

今天跟着新星计划活动学习了 SQLite,收获很多,写个博客记录一下。


在这里插入图片描述


一、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 也有它的优势,比如所占体积小免安装等,有着自己的使用场景,值得被开发者去学习。

在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胡晗靓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值