当前位置:嗨网首页>书籍在线阅读

15-输出格式选项

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

--compact选项使得输出结果简洁,不包括默认选项中的各种注释。下例中对test数据库中的表emp进行简洁导出:

[zzx@localhost~]$ mysqldump -uroot --compact test emp >a

[zzx@localhost~]$ more a

CREATE TABLE 'emp' (

'id' int(11) NOT NULL default '0',

'name' varchar(200) default NULL,

'content' text,

PRIMARY KEY ('id')

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO 'emp' VALUES (1,'z1','aa'),(2,'z1','aa'), (3,'z1','aa'), (4,'z1','aa');

-c 或者--complete-insert选项使得输出文件中的insert语句包括字段名称,默认是不包括字段名称的。下例中对test数据库中的表emp使用此选项进行导出:

[root@localhost test]# mysqldump -uroot test emp -c --compact >a

[root@localhost test]# more a

CREATE TABLE 'emp' (

'id' int(11) NOT NULL default '0',

'name' varchar(200) default NULL,

'content' text,

PRIMARY KEY ('id'),

KEY 'idx_name' ('name')

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO 'emp' ('id', 'name', 'content') VALUES (1,'z1','aa'),(2,'z1','aa'), (3,'z1','aa'),(4,'z1','aa');

-T选项将指定数据表中的数据备份为单纯的数据文本和建表SQL两个文件,经常和下面几个选项一起配合使用,将数据导出为指定格式显示。下面几个选项的具体使用方法,在将会在第27章“备份与恢复”中进行详细的讲解。

-T ,--tab=name(备份数据和建表语句);

--fields-terminated-by=name(域分隔符);

--fields-enclosed-by=name(域引用符);

--fields-optionally-enclosed-by=name(域可选引用符);

--fields-escaped-by=name(转义字符)。

在下面的例子中,将test数据库中的表t2导出为单纯的数据文本和建表SQL两个文件,并存放在当前路径下的bak子目录下。

(1)创建备份目录。

[mysql@localhost~]$ mkdir bak

(2)将test1数据库下的表t2备份到bak目录下。

[mysql@localhost~]$ mysqldump -uroot -p test1 t2 -T ./bak

Enter password:

(3)进入bak目录,发现生成了两个文件,一个是.sql,另一个是.txt。

[mysql@localhost~]$ cd bak

[mysql@localhost bak]$ ls

t2.sql t2.txt

(4)查看两个文件的内容,.sql文件存放了建表语句,而.txt文件存放了实际的数据。

[mysql@localhost bak]$ more t2.sql

-- MySQL dump 10.9

--

-- Host: localhost Database: test1


-- Server version 4.1.13-standard-log

/!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT /;

/!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS /;

/!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION /;

/!40101 SET NAMES utf8 /;

/!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='' /;

/!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 /;

--

-- Table structure for table 't2'

--

DROP TABLE IF EXISTS 't2';

CREATE TABLE 't2' (

'id' int(11) default NULL,

'name' varchar(10) default NULL

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

/!40101 SET SQL_MODE=@OLD_SQL_MODE /;

/!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT /;

/!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS /;

/!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION /;

/!40111 SET SQL_NOTES=@OLD_SQL_NOTES /;

[mysql@localhost bak]$ more t2.txt

1 z1

2 z2