zoukankan      html  css  js  c++  java
  • mysql 数据导入与导出

    导出某个数据库数据到文件中

      假设要导出test这个数据库,那么可以在Linux命令行(不是在mysql中)

    [root@ubuntu /data]# mysqldump -uroot -p test > test.sql

      上面的操作是将test数据库中的所有表导出到一个test.sql,包含表结构和数据。导出的时候,文件名可以随意指定,默认是存到当前路径下。

    利用导出的文件恢复数据

      在恢复数据之前,请事先创建好要保存数据的数据库,该数据库的名称不需要和原来的数据库名称相同,名称随意,这里假设是创建一个newTest数据库。在mysql中创建数据库执行。

    mysql > create database newTest;

      

      方式1:

      直接在Linux的命令行中指定,注意 ‘<' 的左边是新创建的数据库名,右边是之前导出的sql文件:

    [root@ubuntu /data]# mysql -uroot -p  newTest < test.sql
    

      

      方式2:

      可以在登录到mysql服务器中,使用use指定新创建的数据库,然后使用source test.sql将数据导入:

    [root@ubuntu /data]# mysql -uroot -p
    # 登录到mysql服务器
    
    mysql > use newTest;
    
    mysql > source /data/test.sql
    
    # 完成
    

      

    将查出的结果导出到文件中

    mysql> select * from demo into outfile '/data.txt';
    

      注意:保存数据的sql文件的路径需要明确指定,方便查找。

      这种方式导出的只是内容,没有字段等信息,全是一行一行的记录。并且默认的字段间分隔使用的是制表符,当然也可以自定义分隔符,以及使用使用什么符号将每个字段的内容括起来,以及换行符。

      比如下面这样:

    mysql> SELECT * FROM passwd INTO OUTFILE '/tmp/runoob.txt'  
                FIELDS TERMINATED BY ',' ENCLOSED BY '"'
                LINES TERMINATED BY '
    ';    
    

      

    将查出来的数据直接直接导入到一个数据库

      其实使用的就是复制

    mysql > create table dbName.tableName as  (
    	select tb_a.id,tb_b.name,tb_c.age from tb_a,tb_b,tb_c
    );
    
  • 相关阅读:
    Linux 命令集合
    vsftpd 创建虚拟用户
    Java Web Socket
    Linux 命令集合
    YII 1.0 上传文件
    YII 1.0 扩展第三方类
    YII 1.0 发表文章用到的小物件
    YII 1.0 增删改查
    mysql 日志
    YII 1.0 小功能总结
  • 原文地址:https://www.cnblogs.com/-beyond/p/9046570.html
Copyright © 2011-2022 走看看