zoukankan      html  css  js  c++  java
  • MySQL 索引、视图、DML

    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;

  • 相关阅读:
    Vue中关于路由传参query和params的区别
    网页从输入网址到渲染完成经历了哪些过程?
    http常见的状态码
    项目中遇到哪些难点,如何解决的
    vue双向绑定、Proxy、defineproperty
    Proxy相比于defineProperty的优势
    axios
    虚拟DOM
    vue、react、angular三大框架对比 && 与jQuery的对比
    DOS、DOS攻击、DDOS攻击、DRDOS攻击
  • 原文地址:https://www.cnblogs.com/sczw-maqing/p/3260746.html
Copyright © 2011-2022 走看看