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;
相关推荐
TuringSnowy3 小时前
Leecode SQL 197. Rising Temperature 日期差用 DATEDIFF()
数据库·sql
bug菌¹3 小时前
滚雪球学MySQL[4.3讲]:MySQL表设计与优化:正规化、表分区与性能调优详解
数据库·mysql
bug菌¹4 小时前
滚雪球学Oracle[3.1讲]:Oracle SQL基础
数据库·sql·oracle
任风雨4 小时前
场景题1-设计redis的key和value的原则
数据库·redis·缓存
call_me_wangcheng6 小时前
django的模型层介绍与配置
数据库·python·django
人生匆匆7 小时前
bluefs _flush_range allocated: osd用空间但是显示ceph_bluefs_db_used_bytes is 100%
数据库·ceph·servlet
颜淡慕潇7 小时前
【数据库】 MongoDB 撤销用户的角色和权限
数据库·sql·mongodb·nosql
დ旧言~8 小时前
【MySQL】数据类型
android·数据库·mysql·adb
阿桂天山9 小时前
如何通过python+sqlalchemy获得MSsql视图的结构
数据库