索引,视图的练习
- 一.索引
- 1.普通索引
- 2.唯一索引
- 3.主键索引
- 4.组合索引
- 5.全文索引
- 6.数据库备份
- 二.视图
- 数据存储
一.索引
概念:
1.1什么是索引
索引是由数据库表中一列或多列组合而成,其作用是提高对表中数据的查询速度。
类似于图书的目录,方便快速定位,寻找指定的内容。
1.2索引的优缺点
优点:提高查询数据的速度。
缺点:创建和维护索引的时间增加了,同时占用硬盘空间。
1.普通索引
是最基本的索引,它没有任何限制;
创建索引语法:
CREATE [UNIQUE|FULLTEXT] INDEX 索引名 ON 表名(字段名[(长度)][ASC|DESC])
修改索引语法:
ALTER TABLE 表名 ADD [UNIQUE|FULLTEXT] INDEX 索引名(字段名[(长度)][ASC|DESC])
删除索引语法:DROP INDEX 索引名 ON 表名
2.唯一索引
与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一;
3.主键索引
是一种特殊的唯一索引,一个表只能有一个主键,不允许有空值;
4.组合索引
指多个字段上创建的索引,只有在查询条件中使用了创建索引时的第一个字段,索引才会被使用。使用组合索引时遵循最左前缀集合;
5.全文索引
全文索引:使用FULLTEXT参数可以设置,全文索引只能创建在CHAR,VARCHAR,TEXT类型的字段上。主要作用是提高查询较大字符串类型的速度;只有MyISAM引擎支持该索引,MySQL默认引擎不支持;mysql8.0+
创建索引语法:
ALTER TABLE 表名 ADD FULLTEXT 索引名(所需表列段)
查询全文索引列段
>select *
>from 表名
>where match (需要查询的列段) against ('关键词');//括号中可以分词查询加空格符隔开
删除索引语法
DROP INDEX 索引名 ON 数据库.表名 ;
6.数据库备份
#导出整个数据库结构和数据
mysqldump -h 数据库本机地址 -u用户 -p密码 database > dump.
mysqldump -h 数据库本机地址 -u用户 -p密码 数据库名 > d:/备份·表名.sql//无盘符则保存到cmd当前运行目录下
#导出单个数据表结构和数据
mysqldump -h 数据库本机地址 -u用户 -p密码 database table > dump.sql
mysqldump -h 数据库本机地址 -u用户 -p密码 数据库名 表名 > d:/备份表名.sql//无盘符则保存到cmd当前运行目录下
二.视图
概念:
虚拟表,和普通表一样使用
mysql5.1版本出现的新特性,是通过表动态生成的数据创建视图语法:
create view 视图名
as
查询语句;
查看视图语法:
DESC myv3;//查看视图拥有字段
SELECT * FROM 视图名;//查看视图;
SHOW CREATE VIEW myv3;//查看视图创建时语法
删除视图语法:
drop view 视图名,视图名,...;
视图还可以增加,删除,修改视图数据,但是不建议使用
案例//连接多表创建视图
#1.查询姓名中包含a字符的员工名、部门名和工种信息
#①创建
CREATE VIEW myv1
AS
SELECT last_name,department_name,job_title
FROM employees e
JOIN departments d ON e.department_id = d.department_id
JOIN jobs j ON j.job_id = e.job_id;
数据存储
概述:
优点:封装一个数据存储过程,操作数据方便.快捷
缺点:后期维护困难;
以上操作基于win10及MySQL8完成