MySQL基础篇 - 其他基本操作

1、索引

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

     当表中有大量记录时,若要对表进行查询

            没有索引的情况:将所有记录取出---和查询条件进行对比---返回满足条件的记录

           ----消耗大量的数据库系统时间,并造成大量磁盘I/O操作。

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

        语句格式:

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

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

         ex.1)在employee表的id列上,建立名为idx_id的索引

                   ALTER TABLE employee ADD INDEX idx_id(id);

                   

           2)在employee表的name列上建立名为idx_name的索引

                CREATE INDEX idx_name ON employee(name);

                

          建完索引后,来查看下新建的索引

               

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

2、视图

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

     类似于一个窗口,可以通过这个窗口看到系统专门提供的数据,这样,用户可以不用看到整个数据库中的数据,而只关心对自己有用的数据。

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

            1)数据库中只存放了视图的定义,而没有存放视图中的数据,这些数据存放在原来的表中;

            2)使用视图查询诗句时,数据库系统会从原来的表中取出对应的数据;

            3)视图中的数据依赖于原来表中的数据,一旦表中数据发生改变,显示在视图中的数据也会发生改变;

            4)在使用视图的时候,可以把它当做一张表。

       语句格式

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

              视图可以建立在多张表上,只需在SELECT语句中使用子查询或连接查询

         ex.创建一个简单的视图,名为v_emp,包含v_name,v_age,v_phone三个列

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

              

3、导入

     将一个文件里的数据,保存进一张表

     语句格式:LOAD DATA INFILE'文件路径和文件名' INTO TABLE 表名;

     ex.将in.txt文件导入到mysql_shiyan库的employee表中

     1)按住Ctrl+Z退出MySQL,下面的几个步骤需要再Xface终端执行

           打开Xface终端,输入命令拷贝SQL6文件夹到/tmp目录

           cp -a /home/shiyanlou/Desktop/SQL6 /tmp/

           

     2)查看in.txt文件中的内容

          gedit /tmp/SQL6/in.txt

          

          后会自动弹出

          

        再次登录数据库,并连接mysql_shiyan数据库

        

       查看下没有导入之前,employee表中的数据

       

      将数据导入

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

      

      再来查询下导入后employee表中的数据

      

4、导出

     把数据库中某个表中的数据保存到一个文件中。

     语句格式:SELECT 列1,列2 INTO OUTFILE'文件路径和文件名' FROM 表名;

     注意:语句中“文件路径”下,不能存在同名文件

     ex.将employee表的数据,导出到 /tmp目录下,文件名为out.txt

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

          

         查看out.txt的内容

         退出数据库后,输入  gedit /tmp/out.txt

         

5、备份

     备份与导出的区别:导出的文件只是保存数据库中的数据

                                   备份是把数据库的结构,包括数据、约束、索引、视图等全部另存为另一个文件

     mysqldump是MySQL用于备份数据库的实用程序。

    备份语句:

          1)备份整个数据库:

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

          2)备份整个表

               mysqldump -u root 数据库名 表名>备份文件名;

      ex.将mysql_shiyan,并命名为bak.sql

           在执行备份操作前,需先通过Ctrl+Z退出MySQL控制台,在Xface终端中输入命令

           

          备份完成后,可通过ls查看已生成的备份文件

          

          用gedit查看备份文件的内容

          

         不仅保存了数据,还备份了数据库的其它信息

6、恢复

     将MySQL-06.sql文件中保存的mysql_shiyan数据库恢复

     1)新建一个空数据库test

           

     2)Ctrl+Z退出MySQL

          输入语句进行恢复

          mysql -u root test < bak.sql

          

         连接数据库后,查看test库中的表

         

        查看employee表中的数据

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值
>