02SQLite

文章目录

索引

创建索引

索引(Index)是一种特殊查找表,数据库搜索引擎用来加速数据检索功能。

CREATE INDEX 索引名称 ON 数据表名称;

单列索引(基于表的一个列上创建索引)。

唯一索引(唯一索引不允许任何重复的值插入到数据表当中:createunique index)。

组合索引(基于表的两个或多个列上创建索引)。

隐式索引(在创建数据表的时候,由数据库服务器自动创建索引)。

删除索引

直接使用 DROP INDEX 命令即可,删除索引

索引优点及缺点?

通过建立索引可以极大地提高在数据库中获取所需数据信息的速度,同时还能够提高服务器处理相关搜索请求的效率

避免使用索引

 数据表比较小不要使用索引;

 索引不应该出现在频繁操作的列当中;

 索引应该使用在有大量的 NULL 值列上;

 有频繁大批数据实现修改、增加、删除操作的。

sql 复制代码
-- 查询数据表:staff
select *from staff;

-- 创建索引 
CREATE INDEX staff_ssalary_index on staff(SSAlary);

-- 查询索引
SELECT *FROM sqlite_master WHERE type='index';

-- 通过索引查询数据
SELECT *FROM staff INDEXED BY staff_ssalary_index WHERE SSAlary >=50000;

-- 删除索引
DROP INDEX staff_ssalary_index;

视图

创建视图

视图则为一张虚拟表,它内容数据由查询决定。视图并不在数据库中存储的数据值形式存储,记录和字段由自由视图的查询所引用的表,并且在引用视图时动态生成。

视图是存储在数据库中查询 SQL 语句:安全原因、可以使复杂的查询易于理解和使用。可以在视图上创建一个触发器。

优势:视点集中简化操作定制数据安全性问题。

sql 复制代码
CREATE VIEW view_name AS
SELECT column1, column2..... FROM table_name
WHERE [condition];

删除视图

sql 复制代码
DROP VIEW 视图名称

事务

数据库事务( transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务由事务开始与事务结束之间执行的全部数据库操作组成。

事务控制命令

begin transaction:事务处理

commit:提交事务

rollback:回滚事务

通过事务方式对数据库进行访问优势:

能够保证数据的读一致性;

在数据永久改变前,可以预览数据变化;

把逻辑相关的操作分成一个组。

sql 复制代码
SELECT * FROM "staff"

-- 事务处理
BEGIN;
DELETE FROM staff WHERE SID=15;

-- 事务提交
COMMIT;

-- 事务回滚
ROLLBACK;
相关推荐
熊文豪41 分钟前
时序数据库选型指南:从大数据视角看高效存储与分析
大数据·数据库·时序数据库
Lisonseekpan43 分钟前
为什么要避免使用 `SELECT *`?
java·数据库·后端·sql·mysql·oracle
Wilson Chen1 小时前
深入理解 MySQL 事务与锁机制:从 ACID 到 Next-Key Lock 的实证之旅
java·数据库·mysql
Fency咖啡1 小时前
Spring进阶 - Spring事务理论+实战,一文吃透事务
java·数据库·spring
无敌的牛2 小时前
MySQL的开始,MySQL的安装
数据库·mysql
Zxxxxxy_2 小时前
【MYSQL】增删改查
java·数据库·mysql
木辰風2 小时前
如何在MySQL中搜索JSON数据,并去除引号
数据库·mysql·json
zzhongcy2 小时前
分库分表详解,以及ShardingJDBC介绍
数据库·oracle
Deamon Tree2 小时前
Redis的过期策略以及内存淘汰机制
java·数据库·redis·缓存
晓py3 小时前
SQL调优专题笔记:打造你的数据库性能优化思维体系
数据库·笔记·sql