一、索引
1.概念:
索引是由数据库表中一列或多列组合而成,其作用是提高对表中数据的查询速度。
类似于图书的目录,方便快速定位,寻找指定的内容。
优点:提高查询数据的速度。
缺点:创建和维护索引的时间增加了,同时占用硬盘空间。
2.分类:
普通索引:最基本的索引,它没有任何限制。
唯一索引:与普通索引类似,但索引列的值必须唯一,允许有空值。如果是组合索引,则组合列的值必须唯一。
主键索引:唯一,不允许有空值。
组合索引:多个字段上建立的索引。在查询条件中使用了创建索引时的第一个字段,索引才会被使用。使用组合索引时遵循最左前缀集合。
全文索引:关键字FULLTEXT,全文索引只能创建在CHAR,VARCHAR,TEXT类型的字段上。
3.创建索引
CREATE FULLTEXT INDEX 【索引名】 ON 【表名 (字段名)】
4.索引的修改
ALTER TABLE 【表名】 ADD FULLTEXT INDEX 【索引名(字段名)】
5.索引的删除
DROP INDEX 【索引名】 ON 【表名】
二、数据库的备份
导出整个数据库结构和数据
语法:
mysqldump -h localhost -uroot -p123456 database > dump.
mysqldump -h localhost -uroot -p123456 db_xiaoli > d:/t_log_001.sql
导出单个数据表结构和数据
语法:
mysqldump -h localhost -uroot -p123456 database table > dump.sql
mysqldump -h localhost -uroot -p123456 db_xiaoli t_log > d:/t_log_002.sql
mysqldump -h localhost -uroot -p123456 db_xiaoli t_log > t_log_003.sql
导出整个数据库结构(不包含数据)
语法:
mysqldump -h localhost -uroot -p123456 -d database > dump.sql
导出单个数据表结构(不包含数据)
语法:
mysqldump -h localhost -uroot -p123456 -d database table > dump.sql
三、视图
1.含义:虚拟表,和普通表一样使用
mysql5.1版本出现的新特性,是通过表动态生成的数据.
2.比如:舞蹈班和普通班级的对比
创建语法的关键字 是否实际占用物理空间 使用。
3.视图 create view 只是保存了sql逻辑 增删改查,只是一般不能增删改。
4.表 create table 保存了数据 增删改查。
5.创建视图:
语法:
create view 视图名
as
查询语句;
6.修改视图:
语法:create or REPLACE view 原有视图
7.删除视图:
语法:drop view 视图名,视图名,…;
注意:as后查询必须是表名,不能是视图名
四、存储过程
MySQL 5.0 版本开始支持存储过程。
存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。
存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。
存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。
优点
(1)存储过程可封装,并隐藏复杂的商业逻辑。
(2)存储过程可以回传值,并可以接受参数。
(3)存储过程无法使用 SELECT 指令来运行,因为它是子程序,与查看表,数据表或用户定义函数不同。
(4)存储过程可以用在数据检验,强制实行商业逻辑等。
缺点
(1)存储过程,往往定制化于特定的数据库上,因为支持的编程语言不同。当切换到其他厂商的数据库系统时,需要重写原有的存储过程。
(2)存储过程的性能调校与撰写,受限于各种数据库系统。
存储过程的创建和调用
存储过程就是具有名字的一段代码,用来完成一个特定的功能。
创建的存储过程保存在数据库的数据字典中。