SQL 入门(SQLite 为例)
贡献者: 待更新
1. SQL 简单介绍
SQL 数据库一般用于存储程序的各种数据。对于简单的程序来说,可能一个简单的文本文件或表格就足够了。但是如果数据量比较大,且他们之间联系比较多的时候,我们进行数据查询的时候就会很复杂。
简单来说,SQL 数据库和办公软件的表格(Excel)有很多相似之处。在一个数据库中,可以创建许多个表格。表格的每一列可以有不同的数据类型,比如整数,小数,文本等。你可以使用 SQL 专有的命令,对表格中的数据进行插入,修改,删除,查询等操作。
2. SQLite 使用教程
SQL 有许多不同的软件,例如 MySQL,ProstgreSQL,SQLite 等,为了简单起见,我们以 SQLite 软件作为入门演示。
可以在官方网站下载页面下载,选择你需要的操作系统的安装包。安装完成如下图:
图 1:SQLite 主页
根据需求创建数据库(相当于表格),我们以学生-课程数据库为例。
图 2:点击创建数据库
图 3:保存在合适的位置
图 4:新增表
- 填入表的名称(示例的表名为 student)
- 点击 “增加” 可增加字段(如图 4),一个字段就是就相当于表格的一列,同理也可以进行删除。
- 类型可以按需选择 INTEGER(整数类型),TEXT(文本类型),BLOB(二进制数据类型),BLOB(浮点类型),NUMERIC(用于高精度计算)。
例如:学号(Sno)属于整数类型 名字(Sname)属于文本类型。
- 一个表格有一个或多个主键,它用于唯一标识表中的特定记录。例如 Sno,学生的学号是可以唯一标识一位学生的,所以学号是一个学生的主键。简单来说就是,知道了学生的学号,就能找到对应的学生。如果只知道一个学生的性别 Ssex,是不能找到的,这也就是为什么性别不能作为主键的原因。
- 图 4 下方的语句属于 SQL 语句,基础 SQL 语句参考SQL 入门语法。基础好的也可以直接用 SQL 语句建表。
建表成功后如图所示:
图 5:建表成功
表建立完成以后,我们需要网表里插入一些数据,具体操作如下:
图 6:插入数据
这里我插入了四条数据:
图 7:插入四条数据
图 8
当然这里也可以使用 SQL 语句进行写入值:
图 9
作为示例,我建立了三个表格
- 学生表(Student):学号,姓名,性别,年龄。
- 课程表(Course):课程号,课程名,学分。
- 成绩表(SC):学号,课程号,成绩。
图 10
在这里,SC(成绩表)表中我们定义了一个外键约束,它引用了其他两个表(Student 表中的学号,Course 表中的课程号)。SQL 语句如图 11:
图 11
建立完成 SC(成绩表)并插入数据后如图所示:
图 12
3. 数据库的增,删,改,查
使用 SQLite 建立自己需要的数据库后,在后续的使用过程中,进行数据的插入,删除,修改和插入都是非常方便的。
基于上面建立的三个表,添加了一些数据用于给大家举例子。(具体规范的语句格式参考SQL 入门语法)
1.插入数据
- 假如班级里转来一位新同学小赵,我们需要将他的一些信息加入到 student(学生表),只需要在 SQL 命令框输入 sql 语句:
执行成功后系统会自动添加一条记录到 student 表中:
图 13
- 对于每一门课程,求学生的平均成绩,并把结果存入数据库中:
运行成功后,数据库会自动建立一个表:
图 14
执行成功后如图:
图 15
2.查询数据
- 查询满足条件的元组
执行成功如图:
图 18
执行成功如图:
图 19
3.修改数据
- 将小李的数据库成绩改为 90
修改后如图所示:
图 20
当然,对于 SQLite,还有一种很简便的修改方法,例如将小赵的年龄改为 21 岁:
图 21
- 另外,set 后面除了带文本之外,还可以是数学表达式
执行成功,小李的年龄由原来的 20 增加到了 21
图 22