文章目录
索引
创建索引
索引(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;