数据库的视图和索引都有什么特点,有什么区别?【面试题详解】

今天爱分享给大家带来数据库的视图和索引都有什么特点,有什么区别?【面试题详解】,希望能够帮助到大家。

视图:
概念:视图是从一个或多个表中导出来的表,是一种不是一种真正存在的概念。
视图操作sql:

//创建视图:
create  view viewName(参数列表/可以不写这样就是默认和下面的select一样) as select * from   表名;
//例1:
create  table viewdemo(id int primary key , name char(10),score  float);
create  view  view1
as select* from  viewdemo;
create view view2(name,score) as select name ,score from  viewdemo;
//修改视图:
alter  view  viewname (columns)  as  select columns from   tableName;
//例:
alter view  view2 (id ,name)  as select  id,name from  viewdemo ;
//删除视图:
drop  view if exists  view  name;
//例:
drop   view  view2;

索引:
概念:可以理解为是一本书的目录,它记录了数据在数据库中存放的位置,就像一本书的目录,记录了,某一页在这本书的那个位置。相同地,索引是一个单独的、存储在磁盘上的数据库结构,它们包含着对数据库表里所有记录的引用指针。
视图操作sql:

ALTER  TABLE  table_name  ADD   [UNIQUE|FULLTEXT] [INDEX|KEY] 
[inex_name] (col_name [length ] ,...) [ASC|DESC]

普通索引:
ALTER  TABLE  book  ADD  INDEX        indexName( bookname(30) );
唯一索引:
ALTER  TABLE  book  ADD UNIQUE INDEX  UniqueIdx( bookid );
组合索引:
ALTER  TABLE  book  ADD  INDEX  BkAndInfoIdx( authors(20), info(50) );
全文索引:
ALTER TABLE t6  ADD  FULLTEXT  INDEX infiIdx(info);(
前提是这个表的存储引擎为 MyISAM)

使用 create index 创建索引:
语法:

CREATE  [UNIQUE|FULLTEXT] [INDEX|KEY] INDEX  index_name
ON   table_name ( col_name[ length ] , ... )  [ASC | DESC ]
 例:在表book的bookname字段上建立名为BkNameIdx的索引。
CREATE INDEX  BkNameIdx   ON   book (bookname);
 例: 在book表的bookId字段上建立唯一索引。
CREATE   UNIQUE    INDEX  UniqueIdx    ON   book (bookId);
4、删除索引:
ALTER   TABLE  table_name   DROP   INDEX  index_name;
DROP    INDEX     index_name   ON  table_name ;

人已赞赏
数据库

数据库优化的方式有几种【面试题详解】

2020-11-10 19:54:04

数据库

error:onnecting to: mongodb://127.0.0.1:27017/?compressors=disabled【解决办法】

2020-11-10 23:35:30

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧