文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Mysql 视图、索引

2024-04-02 19:55

关注

一、视图:
1、视图的定义:视图是物理表的映射结果,物理表变化,视图肯定变化。

create view v_name as select 列名(也可以是函数计算出来的结果如 avg()) from 表;

2、视图的作用:
2.1、权限控制
比如某几列,允许用户查询,其它列不允许。
可以通过视图开放其中一列或者几列,起到权限控制的作用。
如商品表中的进货价格、进货商等重要信息,一般用户是不能看到的。
2.2、简化复杂的查询语句。

3、视图能否更新、删除、添加?
如果view的每一行与物理表一一对应,则可以,视图变化物理表变化。
如果view的行是由物理表多行经过计算得到的结果,view不可以更新的。

二、delete与truncate的区别:

1、delete是DML的,只是删除表中的数据。

2、truncate是DDL的,先删除表,在创建表。

举例:创建一个列自增长的表,操作一下就一目了然啦....

三、索引:

对于提高数据库性能,索引是个物美价廉的方式。不用加内存,不用改程序,不用调sql,只需要正确建立索引,就可以把查询速度提高百倍千倍。不过天下没有免费的午餐,建立索引提高了查询速度,但降低了增、删、改的速度。

1、索引是数据的目录,能快速定位行数据的位置。

2、索引提高了查询速度,但是降低了增、删、改的速度(增删改时 索引表也要变更),因此并非索引越多越好。

3、索引一般建立在查询频率高的列上加,并且加在重复度低的列上效果更好。

4、索引分类:

(1)、index|key 普通索引:提高查询速度。
A、创建表时指定:create table test(id int,key(id));
B、创建表后添加:alter table 表名 add index(id)或 create index index_name on tableName(列)

(2)、unique |unique key唯一索引:加快查询速度,并且约束数据不能重复。
A、创建表时指定:create table test(id int primary key,name varchar(30),email varchar(30) unique);
或者create table test(id int primary key,name varchar(30),email varchar(30),unique (email));
B、创建表后添加: alter table 表名 add unique(列)

(3)、primary key主键索引:加快查询速度,并且约束数据不能重复。

A、创建时指定:
create table test(id int primary key)

B、创建表后添加:
alter table 表名 add primary key(列)

(4)、fulltext全文索引:
主要是针对文字的检索,只对MyISAM引擎有效,在InnoDB上无效。并且在中文环境下几乎是无效的,要分词加索引才可以,一般用第三方解决方案,如compass。
(5)、主键索引和唯一索引的区别:
主键索引不能为空,不能重复;唯一索引可以为空,不能重复。
四、常用的语句:

1、show databases :显示所有数据库;

2、show create database 数据库名:显示创建数据库的语句。

3、show create table 表名:显示创建表的语句。

4、show index from 表名:显示表的索引。

5、show table status :当前库显示所有表的status;

6、show table status like 表名:当前库显示某张表的status;

7、select database():显示当前库名。

8、select user():显示当前用户。

9、explain sql语句:显示sql语句的执行状况。

10、添加/删除索引:
alter table 表名 add [index|unique] 索引名(列名)
drop table index 索引名 on 表名
11、添加/删除主键索引:
alter table 表名 add primary key(列名)
drop table primary key on 表名

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯