美文网首页MySQL学习转载部分
MySQL视图,索引,数据导入与导出,备份和恢复

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

作者: c4a1d989518e | 来源:发表于2017-05-31 11:09 被阅读133次

    视图

    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
    

    相关文章

      网友评论

        本文标题:MySQL视图,索引,数据导入与导出,备份和恢复

        本文链接:https://www.haomeiwen.com/subject/yjbdfxtx.html