SQLite教程(五):索引和数据分析/清理
索引
索引是数据库系统中的一个重要概念。即对表中某些列进行排序,形成一个新的数据结构,以加快表中数据的查询速度。下面是使用SQLite通过CREATE INDEX语句创建索引的基本步骤:
1.查看表结构
首先使用PRAGMA table_info(表名)
语句查看表结构。
PRAGMA table_info(test);
2.创建一个索引
使用CREATE INDEX 索引名 ON 表名(列名)
语句来创建一个索引。
CREATE INDEX test_index ON test(test_field);
3.查看索引结构
使用PRAGMA index_list(表名)
和PRAGMA index_info(索引名)
语句来查看索引结构。
PRAGMA index_list(test);
PRAGMA index_info(test_index);
示例
假设我们的test表中有一个字段名为'test_field',我们需要对该字段进行索引,并查询该字段中大于10的数据,下面是实现的代码:
-- 创建索引
CREATE INDEX test_index ON test(test_field);
-- 查询大于10的数据
SELECT * FROM test WHERE test_field > 10;
数据分析/清理
1.数据去重
我们可以使用DISTINCT
关键字去除数据中的重复记录。比如下面的代码可以查询字段'test_field'中的不重复数据。
SELECT DISTINCT test_field FROM test;
2.数据分组
我们可以使用GROUP BY
关键字将数据按照某一列进行分类。比如下面的代码可以查询字段'test_field'中的不重复数据及其出现的次数。
SELECT test_field, COUNT(*) FROM test GROUP BY test_field;
3.数据排序
我们可以使用ORDER BY
关键字对数据进行排序。比如下面的代码可以查询字段'test_field'中的数据并按照从小到大的顺序排序。
SELECT * FROM test ORDER BY test_field ASC;
示例
假设我们的test表中有三个字段'test_field','test_field_2'和'test_field_3',我们需要查询'test_field'和'test_field_2'两个字段中的不重复数据,并按照'test_field_2'字段从小到大的顺序进行排序,下面是实现的代码:
-- 查询不重复的数据并按照'test_field_2'字段排序
SELECT DISTINCT test_field, test_field_2 FROM test ORDER BY test_field_2 ASC;
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SQLite教程(五):索引和数据分析/清理 - Python技术站