SQLite NULL 值学习笔记

什么是NULL值?

在SQLite中,NULL是一个特殊的值,用于表示没有值、未知或不适用。NULL并不等于零或空字符串,它是一个独立的概念。如果一列被定义允许NULL值,那么这个列中可以存储NULL值。

如何使用NULL值?

我们可以使用IS NULL和IS NOT NULL条件来检查是否存在NULL值或非NULL值。例如,我们有一个名为students的表格,其中有一列为age,我们可以使用以下语句查询所有年龄为空的学生:

Copy Code
SELECT * FROM students WHERE age IS NULL;

类似地,我们也可以查询所有年龄不为空的学生:

Copy Code
SELECT * FROM students WHERE age IS NOT NULL;

实例演示

假设我们有以下表格movies:

id title rating
1 The Shawshank Redemption 9.3
2 The Godfather 9.2
3 The Dark Knight NULL
4 12 Angry Men 8.9

在这个表格中,有一部电影The Dark Knight没有评分(即rating为NULL)。我们可以使用以下语句查询所有有评分的电影:

Copy Code
SELECT * FROM movies WHERE rating IS NOT NULL;

这将返回以下结果:

id title rating
1 The Shawshank Redemption 9.3
2 The Godfather 9.2
4 12 Angry Men 8.9

我们也可以使用以下语句查询所有没有评分的电影:

Copy Code
SELECT * FROM movies WHERE rating IS NULL;

这将返回以下结果:

id title rating
3 The Dark Knight NULL

总结

NULL值在SQLite中是一个重要的概念,允许我们存储未知或无适用值。我们可以使用IS NULL和IS NOT NULL条件来查询包含或不包含NULL值的数据。理解和正确使用NULL值对于开发者来说是非常重要的。