mysql学习笔记(五)索引、视图,导入和导出,备份和恢复

一、索引

索引是一种与表有关的结构,它的作用相当于书的目录,可以根据目录中的页码快速找到所需的内容。


当表中有大量记录时,若要对表进行查询,没有索引的情况是全表搜索:将所有记录一一取出,和查询条件进行一一对比,然后返回满足条件的记录。这样做会消耗大量数据库系统时间,并造成大量磁盘 I/O 操作。


而如果在表中已建立索引,在索引中找到符合查询条件的索引值,通过索引值就可以快速找到表中的数据,可以大大加快查询速度。


对一张表中的某个列建立索引,有以下两种语句格式:

ALTER TABLE 表名字 ADD INDEX 索引名 (列名);


CREATE INDEX 索引名 ON 表名字 (列名);

ALTER TABLE employee ADD INDEX idx_id (id);      #在employee表的id列上建立名为idx_id的索引


CREATE INDEX idx_name ON employee (name);   #在employee表的name列上建立名为idx_name的索引


索引的效果是加快查询速度,当表中数据不够多的时候是感受不出它的效果的。

使用命令 SHOW INDEX FROM 表名字; 查看刚才新建的索引;


二、视图

视图是从一个或多个表中导出来的表,是一种虚拟存在的表。

它就像一个窗口,通过这个窗口可以看到系统专门提供的数据,

这样,用户可以不用看到整个数据库中的数据,而只关心对自己有用的数据。


注意理解视图是虚拟的表:


1.数据库中只存放了视图的定义,而没有存放视图中的数据,这些数据存放在原来的表中;
2.使用视图查询数据时,数据库系统会从原来的表中取出对应的数据;
3.视图中的数据依赖于原来表中的数据,一旦表中数据发生改变,显示在视图中的数据也会发生改变;
4.在使用视图的时候,可以把它当作一张表。


创建视图:

CREATE VIEW 视图名(列a,列b,列c) AS SELECT 列1,列2,列3 FROM 表名字;

eg:

create view v_emp(v_name,v_age,v_phone) as select name,age,phone from employee;


三、导入

LOAD DATA INFILE '文件路径' INTO TABLE 表名字;

查询某表 : select *from employee;


四、导出

SELECT 列1,列2 INTO OUTFILE '文件路径和文件名' FROM 表名字;


五、备份

备份是在终端下执行的语句

mysqldump -u root 数据库名>备份文件名;   #备份整个数据库

mysqldump -u root 数据库名 表名字>备份文件名;  #备份整个表


六、恢复

1.source 用备份文件恢复数据库

source + 路径 + 文件.sql
把sql文件中保存的数据库恢复


2.新建一个空数据库test,然后备份的东西恢复到test

mysql -u root test < 备份的数据库.sql

3.连接数据库

use test



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kelisita

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值