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.我们也可以拷贝一个表中其中的一些字段:
总结:
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的数据:
语法:CREATE [UNIQUE|FULLTEXT] INDEX 索引名 ON 表名(字段名[(长度)][ASC|DESC])(提高查询性能)
修改索引:
语法:ALTER TABLE 表名 ADD [UNIQUE|FULLTEXT] INDEX 索引名(字段名[(长度)][ASC|DESC]);
全文索引:
数据拷贝:
导出整个数据库结构和数据:
视图:
含义:虚拟表,和普通表一样使用。
视图 create view 只是保存了sql逻辑 增删改查,只是一般不能增删改
表 create table 保存了数据 增删改查
创建视图:
语法: create view 视图名 as 查询语句;
1.创建视图查看每个部门的平均工资:
使用myv2:
1.查询平均工资最低的部门信息
2.查询平均工资最低的部门名和工资
视图修改:
语法: create or replace view 视图名 as 查询语句;
删除视图:
语法:语法:drop view 视图名,视图名,…;
跟新视图: