select ... into outfile语句是一种逻辑备份的方法,更准确地说是导出一张表中的数据。

Syntax:
SELECT
    [ALL | DISTINCT | DISTINCTROW ]
      [HIGH_PRIORITY]
      [STRAIGHT_JOIN]
      [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
      [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
    select_expr [, select_expr ...]
    [FROM table_references
      [PARTITION partition_list]
    [WHERE where_condition]
    [GROUP BY {col_name | expr | position}
      [ASC | DESC], ... [WITH ROLLUP]]
    [HAVING where_condition]
    [ORDER BY {col_name | expr | position}
      [ASC | DESC], ...]
    [LIMIT {[offset,] row_count | row_count OFFSET offset}]
    [PROCEDURE procedure_name(argument_list)]
    [INTO OUTFILE 'file_name'
        [CHARACTER SET charset_name]
        export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name]]
    [FOR UPDATE | LOCK IN SHARE MODE]]

说明:

file_name表示导出的文件,但文件所在的路径权限必须是mysql:mysql的,否则mysql会报没有权限导出。

若存在该文件,会报错。

root@127.0.0.1:3306  [andyxi3306]>select id,cc into outfile '/tmp/andyxi3306/1.txt' from t1; 或使用select * into outfile '/tmp/andyxi3306/1.txt' from t1

Query OK, 20000 rows affected (0.05 sec)

root@127.0.0.1:3306  [andyxi3306]>system ls -la /tmp/andyxi3306

total 752 drwxr-xr-x  2 mysql mysql     19 Jul  8 09:34 . drwxrwxrwt. 8

root  root     189 Jul  8 09:11 .. -rw-rw-rw-  1

mysql mysql 768894 Jul  8 09:34 1.txt

[root@zstedu andyxi3306]# less 1.txt
1       c4ca4238a0b923820dcc509a6f75849b
2       c81e728d9d4c2f636f067f89cc14862c
3       eccbc87e4b5ce2fe28308fd9f2a7baf3
4       a87ff679a2f3e71d9181a67b7542122c
5       e4da3b7fbbce2345d7772b0674a318d5
6       1679091c5a880faf6fb5e6087eb1b2dc
7       8f14e45fceea167a5a36dedd4bea2543
8       c9f0f895fb98ab9159f51fd0297e236d
9       45c48cce2e2d7fbdea1afc51c7c6ad26
10      d3d9446802a44259755d38e6d163e820
11      6512bd43d9caa6e02c990b0a82652dca
12      c20ad4d76fe97759aa27a0c99bff6710
13      c51ce410c124a10e0db5e4b97fc2af39
14      aab3238922bcc25a6f606eb525ffdc56

扩展:

fields [terminated by 'string']表示每个列的分隔符,[[optionally]enclosed by 'char']表示对于字符串的包含符,[enclosed by 'char']表示转义符,[starting by 'string']表示每行的开始符号,germinated by 'string'表示每行的结束符号。

如:

root@127.0.0.1:3306  [andyxi3306]>select id,cc into outfile '/tmp/andyxi3306/1.txt'  fields terminated by ',' from t1;
Query OK, 20000 rows affected (0.06 sec)

[root@zstedu andyxi3306]# rm -rf 1.txt
[root@zstedu andyxi3306]# less 1.txt
1,c4ca4238a0b923820dcc509a6f75849b
2,c81e728d9d4c2f636f067f89cc14862c
3,eccbc87e4b5ce2fe28308fd9f2a7baf3

select ... into outfile备份及恢复使用的更多相关文章

  1. select … into outfile 备份恢复(load data)以及mysqldump时间对比

    select … into outfile 'path' 备份 此种方式恢复速度非常快,比insert的插入速度要快的多,他跟有备份功能丰富的mysqldump不同的是,他只能备份表中的数据,并不能包 ...

  2. mysql load data infile的使用 和 SELECT into outfile备份数据库数据

    LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE] INTO TABLE t ...

  3. 逻辑备份,mysqldump,SELECT…INTO OUTFILE,恢复

    逻辑备份 mysqldump mysqldump备份工具最初由Igor Romanenko编写完成,通常用来完成转存(dump)数据库的备份以及不同数据库之间的移植,例如从低版本的MySQL数据库升级 ...

  4. MySQL运维之---mysqldump备份、select...into outfile、mysql -e 等工具的使用

    1.mysqldump备份一个数据库 mysqldump命令备份一个数据库的基本语法: mysqldump -u user -p pwd dbname > Backup.sql 我们来讲解一下备 ...

  5. 逻辑备份(mysqldump/select into outfile)

    #mysqldump备份 shell> mysqldump -uroot -p -P4306 sakila actor>E:\sakila-actor.sql shell> mysq ...

  6. 我的MYSQL学习心得(十四) 备份和恢复

    我的MYSQL学习心得(十四) 备份和恢复 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) ...

  7. [MySQL Reference Manual] 7 备份和恢复

    7. 备份和恢复 本章主要会介绍: 1.备份的类型:逻辑备份,物理备份,全备和增量4种 2.创建备份的方法 3.还原方法,包括还原到时间点 4.备份计划,压缩和加密 5.表维护,恢复损坏的表 7. 备 ...

  8. 7.1 Backup and Recovery Types 备份和恢复类型

    7.1 Backup and Recovery Types 备份和恢复类型 这个章节描述 不同备份类型的特点: 物理(raw)与逻辑备份 物理备份有raw 副本组成,存储数据库内容,这种类型的备份是适 ...

  9. 我的MYSQL学习心得 备份和恢复(详细)

    备份 逻辑备份方法 使用MYSQLDUMP命令备份 MYSQLDUMP是MYSQL提供的一个非常有用的数据库备份工具.mysqldump命令执行时将数据库备份成一个文本文件, 该文件中实际上包含了多个 ...

随机推荐

  1. PTA(Advanced Level)1025.PAT Ranking

    To evaluate the performance of our first year CS majored students, we consider their grades of three ...

  2. 【Python】【demo实验14】【练习实例】【斐波那契数列】【经典兔子生小兔子问题】

    古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 每个月的兔子数量 1:22:23:4 2+24:6 2+ ...

  3. 【转】redis数据库入门教程(全面详细)+面试问题

    [本教程目录] 1.redis是什么2.redis的作者何许人也3.谁在使用redis4.学会安装redis5.学会启动redis6.使用redis客户端7.redis数据结构 – 简介8.redis ...

  4. dev控件学习笔记之----CxGrid2

    一.cxgrid 表格自适应列宽和增加注脚注和 for i := 0 to ado_lxr_cx.FieldCount - 1 do    begin      //如果是数字,则注脚求合      ...

  5. Oracle导入/导出某个用户下的数据库

    导出 exp用户名/密码@数据库实例owner=用户名file=文件存储路径 例如:exp MM/123456@ORCL owner=MM file=F\abcd.dmp 导入 imp用户名/密码@数 ...

  6. MySql查看时间

    select now();命令查看MySql时间(包括时分秒) select current_date();命令查看MySql时间(不包括时分秒) 在代码中,创建时间.修改时间字段的jdbc语句也可以 ...

  7. Spring4学习回顾之路03—XML配置Bean ,依赖注入的方式

    配置Bean的形式可以基于XML文件的方式,也可以基于注解的方式,而Bean的配置方式可以通过全类名(反射),通过工厂方式和FactoryBean. XML形式 <?xml version=&q ...

  8. PAT A1058 A+B in Hogwarts (20)

    AC代码 #include <cstdio> struct Money { long long Galleon, Sicklke, Knut; }A, B, Sum; void init( ...

  9. Python自学笔记之字符串的操作

    1.将字符串全部变为小写:lower() casefold() 范围更广 2.将字符串全部变为大写:upper() 3.判断是否大小写:isupper() islower() 4.居中:center( ...

  10. pytest参数化的两种方式

    1.传统方式 import requests,pytest from Learning.variable import * # 定义变量 #url = "https://www.baidu. ...