美文网首页
基础篇 - 其他基本操作

基础篇 - 其他基本操作

作者: 狂舞曲少WA几个好不 | 来源:发表于2017-01-01 19:45 被阅读0次

    1.索引:可以加快查询速度

    1.索引是一种与表有关的结构,它的作用相当于书的目录,可以根据目录中的页码快速找到所需的内容。
    2.当表中有大量记录时,若要对表进行查询,没有索引的情况是全表搜索:将所有记录一一取出,和查
    询条件一一对比,然后返回满足条件的记录。这样做会消耗大量数据库系统时间 并造成大量擦盘I/O操作。

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

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

    索引的效果是加快查询速度,当表中数据不够多的时候是感受不出它的效果的。这里我们使用命令 SHOW INDEX FROM 表名字; 查看刚才新建的索引:

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

    2.视图:是一种虚拟存在的表

    视图是从一个或多个表中导出来的表,是一种虚拟存在的表。它就像一个窗口,通过这个窗口可以看到系统专门提供的数据,这样,用户可以不用看到整个数据库中的数据,而只关心对自己有用的数据。

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

    创建视图的语句格式为:

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

    可见创建视图的语句,后半句是一个SELECT查询语句,所以视图也可以建立在多张表上,只需在SELECT语句中使用子查询连接查询,这些在之前的实验已经进行过。

    3.导入:从文件中导入数据到表

    导入操作,可以把一个文件里的数据保存进一张表。导入语句格式为:

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

    4.导出:从表中导出到文件中

    导出与导入是相反的过程,是把数据库某个表中的数据保存到一个文件之中。

    导出语句基本格式为:

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

    注意:语句中 “文件路径” 之下不能已经有同名文件。

    现在我们把整个employee表的数据导出到 /tmp 目录下,导出文件命名为 out.txt 具体语句为:

    SELECT * INTO OUTFILE '/tmp/out.txt' FROM employee;
    

    5.备份

    mysqldump 备份数据库到文件
    数据库中的数据或许十分重要,出于安全性考虑,在数据库的使用中,应该注意使用备份功能。

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

    mysqldump 是 MySQL 用于备份数据库的实用程序。它主要产生一个 SQL
    脚本文件,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT 等。

    使用 mysqldump 备份的语句:

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

    6.恢复:从文件恢复数据库

    先进入mysql再使用恢复语句

    source /tmp/SQL6/MySQL-05.sql;
    

    另一个种方式恢复数据库:
    先创建一个空数据库TEST,再退出mysql
    使用命令

    mysql -u root -p TEST < mysql.sql;
    

    相关文章

      网友评论

          本文标题:基础篇 - 其他基本操作

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