DML(Data Manipulation Language)数据操纵语言,索引,视图;

上一章DML的补充:

表数据的拷贝:
1.我们还可以操作不同的数据库(shop.admin,newshop.newadmin通过.表名):
1.1:CREATE TABLE newadmin LIKE shop.admin;
1.2:CREATE TABLE newshop.newadmin LIKE shop.admin;

2.我们也可以拷贝一个表中其中的一些字段:
DML(Data Manipulation Language)数据操纵语言,索引,视图;_第1张图片

总结:
INSERT:INSERT语句主要用于向数据表中插入数据。
DELETE:DELTE语句主要用来删除 MySQL 数据表中的记录
UPDATE:UPDATE语句主要用于修改或更新数据表中的数据。
SELETE:SELECT语句主要用来查询数据表中的数据。

**

索引

1.索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。
索引分为聚簇索引和非聚簇索引两种,聚簇索引是按照数据存放的物理位置为顺序的,而非聚簇索引就不一样了;聚簇索引能提高多行检索的速度,而非聚簇索引对于单行的检索很快
要注意的是,建立太多的索引将会影响更新和插入的速度,因为它需要同样更新每个索引文件。对于一个经常需要更新和插入的表格,就没有必要为一个很少使用的where字句单独建立索引了,对于比较小的表,排序的开销不会很大,也没有必要建立另外的索引。

2.索引的优缺点
优点:提高查询数据的速度。
缺点:创建和维护索引的时间增加了,同时占用硬盘空间。

3.索引分类
(1) 普通索引:是最基本的索引,它没有任何限制;
(2) 唯一索引:与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一;
(3) 主键索引:是一种特殊的唯一索引,一个表只能有一个主键,不允许有空值;
(4) 组合索引:指多个字段上创建的索引,只有在查询条件中使用了创建索引时的第一个字段,索引才会被使用。使用组合索引时遵循最左前缀集合;
(5) 全文索引:使用FULLTEXT参数可以设置,全文索引只能创建在CHAR,VARCHAR,TEXT类型的字段上。主要作用是提高查询较大字符串类型的速度;只有MyISAM引擎支持该索引,MySQL默认引擎不支持;mysql5.7

普通索引

创建索引:
t_log的数据:DML(Data Manipulation Language)数据操纵语言,索引,视图;_第2张图片

语法:CREATE [UNIQUE|FULLTEXT] INDEX 索引名 ON 表名(字段名[(长度)][ASC|DESC])(提高查询性能)

DML(Data Manipulation Language)数据操纵语言,索引,视图;_第3张图片

修改索引:
语法:ALTER TABLE 表名 ADD [UNIQUE|FULLTEXT] INDEX 索引名(字段名[(长度)][ASC|DESC]);

全文索引:

数据拷贝:
导出整个数据库结构和数据:
DML(Data Manipulation Language)数据操纵语言,索引,视图;_第4张图片
DML(Data Manipulation Language)数据操纵语言,索引,视图;_第5张图片
视图:
含义:虚拟表,和普通表一样使用。
视图 create view 只是保存了sql逻辑 增删改查,只是一般不能增删改
表 create table 保存了数据 增删改查

创建视图:
语法: create view 视图名 as 查询语句;
1.创建视图查看每个部门的平均工资:
DML(Data Manipulation Language)数据操纵语言,索引,视图;_第6张图片
使用myv2:
1.查询平均工资最低的部门信息
DML(Data Manipulation Language)数据操纵语言,索引,视图;_第7张图片

2.查询平均工资最低的部门名和工资
DML(Data Manipulation Language)数据操纵语言,索引,视图;_第8张图片
DML(Data Manipulation Language)数据操纵语言,索引,视图;_第9张图片
视图修改:
语法: create or replace view 视图名 as 查询语句;
DML(Data Manipulation Language)数据操纵语言,索引,视图;_第10张图片
删除视图:
语法:语法:drop view 视图名,视图名,…;
DML(Data Manipulation Language)数据操纵语言,索引,视图;_第11张图片
跟新视图:
DML(Data Manipulation Language)数据操纵语言,索引,视图;_第12张图片
DML(Data Manipulation Language)数据操纵语言,索引,视图;_第13张图片
DML(Data Manipulation Language)数据操纵语言,索引,视图;_第14张图片

你可能感兴趣的:(mysql)