[mysql]索引和视图

索引和视图

索引:可以加快查询速度
视图:是一种虚拟存在的表
导入:从文件中导入数据到表
导出:从表中导出到文件中
备份:mysqldump 备份数据库到文件
恢复:从文件恢复数据库


#索引
alter table tbname add index indexname (colname);
create index indexname on tbname (colname);

show index from tbname;
在使用SELECT语句查询的时候,语句中WHERE里面的条件,会自动判断有没有可用的索引

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

create view viewname(colname1,colname2...) as select col1, col2...from tbname;


#导入操作
LOAD DATA INFILE '文件路径和文件名' INTO TABLE 表名字;
#导出操作
SELECT 列1,列2 INTO OUTFILE '文件路径和文件名' FROM 表名字;

备份与导出的区别:导出的文件只是保存数据库中的数据;而备份,则是把数据库的结构,包括数据、约束、索引、视图等全部另存为一个文件。
mysqldump -u root 数据库名>备份文件名; #备份整个数据库

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

恢复
source /tmp/SQL6/MySQL-06.sql
另一种方式恢复数据库,但是在这之前我们先使用命令新建一个空的数据库 test
再次 Ctrl+Z 退出MySQL,然后输入语句进行恢复,把刚才备份的 bak.sql 恢复到 test 数据库:
mysql -u root test < bak.sql

快乐生活每一天
原文地址:https://www.cnblogs.com/sunner/p/8667391.html