1、索引

索引是存放在模式(schema)中的一个数据库对象,索引的作用就是提高对表的检索查询速度,

索引是通过快速访问的方法来进行快速定位数据,从而减少了对磁盘的读写操作。

索引是数据库的一个对象,它不能独立存在,必须对某个表对象进行依赖。

提示:索引保存在information_schema数据库里的STATISTICS表中。

创建索引方式:

自动:当表上定义主键约束、唯一、外键约束时,该表会被系统自动添加上索引。

手动:手动在相关表或列上增加索引,提高查询速度。

删除索引方式:

自动:当表对象被删除时,该表上的索引自动被删除

手动:手动删除指定表对象的相关列上的索引

索引类似于书籍的目录,可以快速定位到相关的数据,一个表可以有多个索引。

创建索引:

create index idx_temp_name on temp(name);

组合索引:

create index idx_temp_name$pwd on temp(name, pwd);

删除索引:

drop index idx_temp_name on temp;

 

2、视图

视图就是一个表或多个表的查询结果,它是一张虚拟的表,因为它并不能存储数据。

视图的作用、优点:

限制对数据的访问

让复杂查询变得简单

提供数据的独立性

可以完成对相同数据的不同显示

创建、修改视图

create or replace view view_temp

as

select name, age from temp;

通常我们并不对视图的数据做修改操作,因为视图是一张虚拟的表,它并不存储实际数据。如果想让视图不被修改,可以用with check option来完成限制。

create or replace view view_temp

as

select * from temp

with check option;

修改视图:

alter view view_temp

as

select id, name from temp;

删除视图:

drop view view_temp;

显示创建语法:

show create view v_temp;

3、 DML语句

DML主要针对数据库表对象的数据而言的,一般DML完成:

插入新数据

修改已添加的数据

删除不需要的数据

1、  insert into 插入语句

insert into temp values(null, ‘jack’, 25);

主键自增可以不插入,所以用null代替

指定列

insert into temp(name, age) values(‘jack’, 22);

在表面后面带括号,括号中写列名,values中写指定列名的值即可。当省略列名就表示插入全部数据,

注意插入值的顺序和列的顺序需要保持一致。

Set方式插入,也可以指定列

insert into temp set id = 7, name = 'jason';

MySQL中外键的table的外键引用列可以插入数据可以为null,不参照主表的数据。

使用子查询插入数据

insert into temp(name) select name from classes;

多行插入

insert into temp values(null, ‘jack’, 22), (null, ‘jackson’ 23);

2、  update 修改语句

update主要完成对数据的修改操作,可以修改一条或多条数据。修改多条或指定条件的数据,需要用where条件来完成。

修改所有数据

update temp set name = ‘jack2’;

所有的数据的name会被修改,如果修改多列用“,”分开

update temp set name = ‘jack’, age = 22;

修改指定条件的记录需要用where

update temp set name = ‘jack’ where age > 22;

3、  delete 删除语句

删除table中的数据,可以删除所有,带条件可以删除指定的记录。

删除所有数据

delete from temp;

删除指定条件数据

delete from temp where age > 20;

MySQL 索引、视图、DML的更多相关文章

  1. MySQL 索引 视图 触发器 存储过程 函数

    1.索引 索引相当于图书的目录,可以帮助用户快速的找到需要的内容. 数据库利用各种各样的快速定位技术,能够大大提高查询效率.特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万 ...

  2. MySQL索引视图

    一.索引 索引是存放在模式(schema)中的一个数据库对象,索引的作用就是提高对表的检索查询速度, 索引是通过快速访问的方法来进行快速定位数据,从而减少了对磁盘的读写操作. 索引是数据库的一个对象, ...

  3. 第五章 MySQL事务,视图,索引,备份和恢复

    第五章 MySQL事务,视图,索引,备份和恢复 一.事务 1.什么是事务 事务是一种机制,一个操作序列,它包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求.要么都执行 ...

  4. MySQL— 索引,视图,触发器,函数,存储过程,执行计划,慢日志,分页性能

    一.索引,分页性能,执行计划,慢日志 (1)索引的种类,创建语句,名词补充(最左前缀匹配,覆盖索引,索引合并,局部索引等): import sys # http://www.cnblogs.com/w ...

  5. Day4 MySql触发器视图索引以及设计优化

    触发器 MySQL包含对触发器的支持.触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用该对象,即表的操作事件触发表上的触发器的执行. 通过事件触发,不能传参 语法 CREA ...

  6. MySQL的视图和索引

    MySQL的视图 简单来说MySQL的视图就是对SELECT 命令的定义的一个快捷键,我们查询时会用到非常复杂的SELECT语句,而这个语句我们以后还会经常用到,我们可以经这个语句生产视图.视图是一个 ...

  7. Mysql 索引原理及优化

    本文内容主要来源于互联网上主流文章,只是按照个人理解稍作整合,后面附有参考链接. 一.摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引 ...

  8. (转)Mysql 索引原理及优化

    本文内容主要来源于互联网上主流文章,只是按照个人理解稍作整合,后面附有参考链接. 一.摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引 ...

  9. 数据库MySQL之 视图、触发器、存储过程、函数、事务、数据库锁、数据库备份、事件

    数据库MySQL之 视图.触发器.存储过程.函数.事务.数据库锁.数据库备份.事件 浏览目录 视图 触发器 存储过程 函数 事务 数据库锁 数据库备份 事件 一.视图 1.视图概念 视图是一个虚拟表, ...

  10. Mysql高手系列 - 第22篇:深入理解mysql索引原理,连载中

    Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能. 欢迎大家加我微信itsoku一起交流java.算法.数据库相关技术. 这是Mysql系列第22篇. 背景 使用mys ...

随机推荐

  1. POJ2531——Network Saboteur(随机化算法水一发)

    Network Saboteur DescriptionA university network is composed of N computers. System administrators g ...

  2. tcp断开的4次挥手

    http://blog.csdn.net/fw0124/article/details/7452695 由于TCP连 接是全双工的,因此每个方向都必须单独进行关闭.这原则是当一方完成它的数据发送任务后 ...

  3. Hadoop课程介绍

    一.课程简介 1. Hadoop是什么? Apache Hadoop是一款支持数据密集型分布式应用并以Apache 2.0许可协议发布的开源软件框架.它支持在商品硬件构建的大型集群上运行的应用程序.H ...

  4. [原]Unity3D深入浅出 - 摄像机组件(Camera)

    在Unity中创建一个Camera后,除了默认带一个Transform组件外,还会附带Flare Layer.GUI Layer.Audio Listener等4个组件,如下图. ClearFlags ...

  5. hdu 1712 ACboy needs your help

    ACboy needs your help Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  6. (转)solr排序OOM解决方法

    转自 http://topcat.iteye.com/blog/1293650 问题 lucene使用排序时会将被排序字段全部加入内存再进行排序,当多次使用不同字段进行排序时会造成OOM问题 解决方案 ...

  7. erlang学习笔记之基础语法

    字符串是双引号,单引号的是atom元组: 下标从1开始 X = {'test1',2,3,4}. element(1,X). 配合模式匹配,可以给元素项命名,直接不用下标标记元素项 列表增删改查 增加 ...

  8. AngularJS with MVC4 CRUD

    CRUD using MVC Web API and AngularJS In this article I am going to demonstrate about how can we crea ...

  9. SSL 通信原理及Tomcat SSL 配置

    SSL 通信原理及Tomcat SSL 双向配置 目录1 参考资料 .................................................................. ...

  10. A Fast Priority Queue Implementation of the Dijkstra Shortest Path Algorithm

    http://www.codeproject.com/Articles/24816/A-Fast-Priority-Queue-Implementation-of-the-Dijkst http:// ...