数据(Data)
能够输入计算机并能被计算机程序识别和处理的信息集合。
数据库(DataBase)
数据库是在数据库管理系统管理和控制之下,存放在存储介质上的数据集合。
数据库管理系统(DBMS)
Oracle
IBM的DB2
Server是微软开发的数据库产品,主要支持Windows平台。
MySQL
SQLite、Firebird、eXtremeDB
SQLite是一款轻量级的开源的嵌入式数据库,由D.Richard Hipp在2000年发布。SQLite的源代码是C,完全开放,广泛应用于消费电子、医疗、工业控制、军事等各种领域。通过这款数据库软件,我们可以对数据库进行创建和增删改查等操作。
(1)零配置,无需安装和管理配置
(2)以文件的形式存放在磁盘上。
(3)可移植性强:能支持各种32位和64位体系的硬件平台,也能在Windows、Linux、BSD、Mac OS、Solaries等软件平台中运行。
(4)支持数据库大小至2TB。
(5)足够小,全部源码大致3万行代码,250KB。
视频教程链接如下:https://www.bilibili.com/video/BV1Li4y1f7ho?p=2.
sudo apt-get install sqlite3
sqlite3 -version
注意:sqlite3 的关键字(包括数据类型和命令),不区分大小写。
假设这里,我们想要创建一个 stu.db 的库文件
就可以在在终端中输入
sqlite3 stu.db
之后,就进入了命令行模式,如下图所示。
之后输入 .quit 后,就会退出命令行模式,同时当前文件夹也并没有创建一个 stu.db 的文件,这是因为我们并没有对这个数据库文件进行任何的编辑和操作。
这个时候,我们可以使用 .table 来操作一下,然后再输入 .quit 并查看当前文件夹下的内容。来看下。
当然使用 .table 来创建的数据库文件内部是空表。
同一个字段的属性可以不唯一。
所谓 autoincrement (自增),就是说,假设当前字段不指定的话,他会自动的按照上一个字段值来自增。比如,上一个字段的值是1,而当前字段不指定的话,它的值就会是2。
这里来演示下,首先使用 sqlite3 来创建一张表,表的内容就是学生,这里设定两个字段,一个是 id,一个是学生姓名,其中,id 的属性为主键,数据类型为整型,而学生姓名的属性则为非空,数据类型为文本字符串。
使用命令
sqlite3 stu.db
来打开数据库文件。
CREATE TABLE stu(id INTEGER primary key AUTOINCREMENT,
name TEXT not null);
怎么查看我们刚刚建立的表呢?
可以使用 .table 来查看我们建的表都有哪些。
那又是如何查看表中的内容都有哪些的呢,使用 “.schema + 表名”。
并不一定非要一次性将表中的所有字段名都给写上去,因为有一些字段的属性是自增的。
字段名1对应着字段值1,字段名2对应着字段值2。
下面尝试插入几个学生信息到表中,如下图所示。
注意,正确写法和错误写法。
1、文本字符串类型的数据可以使用单引号或双引号,不可以不加。
正确写法:
INSERT INTO stu(id,name)values(202201,'张三');
INSERT INTO stu(id,name)values(202202,"李四");
错误写法:
INSERT INTO stu(id,name)values(202201,张三);
2、有些字段名可以不写(比如该字段的属性设置为自增了),但是要注意前后一致,前面不写,后面也不要写,前面写了,后面也要写(不可以空,连逗号也别加)。
正确写法:
INSERT INTO stu(name)values("王五");
错误写法:
INSERT INTO stu(id,name)values(,"王五");
Error: near ",": syntax error
下面再来尝试下查看刚刚插入到表中的学生信息,这里使用 select 命令来进行,如下图所示。
select id,name FROM stu;
输出结果如下:
此时,如果我们还想把表头(字段)给打印出来的话,就要在查询之前先输入命令
.header on
看下图。
此外,我们还可以使用 where 添加筛选条件。
注意,表示等于条件用一个 “=”。
1、在修改表中元素时,如果不指定筛选条件的话,它会将表中的所有满足你要修改条件的字段的值全部改成你要修改的字段的值。
演示下:将表中 id = 202201 的 name 和 id 字段修改为 ‘路人甲’ 和 202006。
UPDATE stu SET name='路人甲',id=202006 WHERE id=202201;
看下修改后的结果:
再来演示下:将表中 id = 202006 的那一行从表中删除。
DELETE FROM stu where id=202006;