MySQL学习转载部分

MySQL视图,索引,数据导入与导出,备份和恢复

2017-05-31  本文已影响133人  c4a1d989518e

视图

MySQL中的视图,是为了MySQL中的数据的展示的。是从一个表或者若干个表中,抽离出我们关心的数据,然后集中形成一个表,名叫视图。这样,我们之间看这个视图就好了,不用去一个一个的翻找不同的表,或者庞大的表。

构建视图的语句是

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

从这句语句中就可以看出视图是用来干什么的。举个例子:


这是表中的数据,如果我们只关注name,age,phone,这三列数据,那么就可以用这个语句:

CREATE VIEW v_emp (v_name,v_age,v_phone) AS SELECT name,age,phone FROM employee;

查看:


建立索引

索引是用来建立MySQL的目录的,为了更方便的查询,普通的查询,是要全表搜索,一一取出数据与我们的条件进行对比,如果表中的数据比较庞大,一个普通的查询操作就要用到大量的磁盘消耗。建立索引就可以避免这样的情况发生,会提高检索效率。

如何建立索引,建立索引的语句是:

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

或者另一个语句:

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

这两个都可以,尝试一下,

ALTER TABLE employee ADD INDEX idx_id (id);
CREATE INDEX idx_name ON employee (name);

这两句的意思,是为employee这个表中的id和name分别建立名为idx_id和idx_name的索引。

查看employee这个表中,所有的索引:

SHOW INDEX FROM employee;

导入数据库

比如说,此时有一个in.txt文件

这里面记录着一些数据,我们想要把这个数据导入到employee这个表中,语句是:

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

这个in.txt文件在Desktop/in.txt,所以用这个方法就好:

LOAD DATA INFILE 'Desktop/in.txt' INTO TABLE employee;

执行以后,再查看


数据的导出

有了导入就有导出,导出的语句为:

SELECT 列1,列2 INTO OUTFILE `路径+文件名` FROM 表名;

举例

SELECT * INTO OUTFILE `Desktop/out.txt` FROM employee;

备份与恢复

备份与导出有什么区别?导出只是导出数据,表的关系啊,和约束等都不能导出只能用备份。
备份用mysqldump命令,命令语句为:

mysql -u root 数据库名>备份名;
mysql -u root 数据库名 表名>备份名;

举例:

mysql -u root mysql_shiyan employee>test.sql;

然后备份成功后就可以在相应目录找到test.sql文件了。
如何恢复呢?
打开mysql后,要先打开mysql,然后执行

source /Desktop/test.sql
上一篇下一篇

猜你喜欢

热点阅读