数据库的索引和视图
数据定义功能包括:表的定义索引的定义视图定义索引一、索引的创建与删除创建索引的语句格式如下:CREATE [UNIQUE] INDEX 索引名ON 表名(列名[,列名]……)【例2-49】为emp_c表按员工的名字(ename)建立索引,索引名为emp_ename_idx。CREATE INDEX emp_ename...
数据定义功能包括 :
- 表的定义
- 索引的定义
- 视图定义
索引
一、索引的创建与删除
创建索引的语句格式如下:
CREATE [UNIQUE] INDEX 索引名
ON 表名(列名[,列名]……)
【例2-49】为emp_c表按员工的名字(ename)建立索引,索引名为emp_ename_idx。
CREATE INDEX emp_ename_idx ON emp_c(ename);
【例2-50】为emp_c表按工作和工资建立索引,索引名为emp_job_sal_idx。
CREATE INDEX emp_job_sal_idx ON emp_c(job,sal);
二、查看索引
SHOW INDEX FROM <表名>;
【例2-51】查看表emp_c的索引信息。
SHOW INDEX FROM emp_c;
三、删除索引
DROP INDEX 索引名 ON 表名;
【例2-52】删除emp_c表中已建立的索引 emp_ename_idx
DROP INDEX emp_ename_idx ON emp_c;
注意:设置索引,系统搜索时间会更短;
测试:
SET profiling=1;#设置系统监控
SELECT * FROM emp_c WHERE empno=1002;
SHOW PROFILES;#查看监控信息
CREATE INDEX emp_idx ON emp_c(empno);
SELECT * FROM emp_c WHERE empno=1002;
SHOW PROFILES;#查看建立索引后的监控信息
视图
一、建立视图的原因
- 提供各种数据表现形式,隐藏数据的逻辑复杂性并简化查询语句
- 提供某些安全性保证,简化用户权限的管理 对重构数据库
- 提供了一定的逻辑独立性
二、创建视图
语句格式如下:
CREATE [OR REPLACE] VIEW <视图名> [(<别名>[,<别名>]…)]
AS
<SELECT语句>
[WITH CHECK OPTION ]
【例2-53】创建带有WITH CHECK OPTION选项的视图。
CREATE VIEW v_dept_chk
AS
SELECT empno,ename,job,deptno FROM emp
WHERE deptno=10
WITH CHECK OPTION;
三、修改视图
ALTER VIEW 视图名[(别名[,别名]…)]
AS
SELECT语句
[WITH CHECK OPTION];
或者CREATE [OR REPLACE] VIEW (语法同创建)
CREATE OR REPLACE VIEW vdk AS
SELECT empno,ename,job,deptno FROM emp
WHERE deptno=10
WITH CHECK OPTION;
SELECT * FROM vdk;
ALTER VIEW vdk AS
SELECT empno,ename,job FROM emp
WHERE deptno=10
WITH CHECK OPTION;
SELECT * FROM vdk;
四、删除视图
DROP VIEW 视图名[,视图名,…];
【例2-56】删除已创建的视图v_dept_chk。
DROP VIEW v_dept_chk;
五、视图使用,同TABLE
已知:现有视图vdk
SELECT * FROM vdk;
SHOW TABLES;
DESC vdk;//查看表的结构
注意:引用table的物理内存,是一张虚拟表;
更多推荐
所有评论(0)