biotwang 发表于 2016-7-19 16:36:43

【dbdao.com MySQL OCP认证专题】- MySQL 5.6 - OCP 考题讲解 - 6

本帖最后由 biotwang 于 2016-7-19 17:10 编辑

【dbdao.com MySQL OCP认证专题】- MySQL 5.6 - OCP 考题讲解

6.

mysqldump was used to create a single schema backup;Shell> mysqldump –u root –p sakila > sakila2013.sqlWhich two commands will restore the sakila database without interfering with other running
database?

A.Mysql> USE sakila; LOAD DATA INFILE 'sakila2013.sql';B.Shell> mysql –u root –p sakila < sakila2013.sqlC.Shell> mysqlimport –u root –p sakila sakila2013.sqlD.Shell> mysql –u root -p –e 'use sakila; source sakila2013.sql'E.Shell> mysql –u root –p –silent < sakila2013.sql--------------------------------------------------------------------------

答案:B

分析:
A错,load data infile针对的是select ... into oufile输出的表数据文件,其文件中不含有插入执行语句,仅含有数据。而mysqldump导出的文件包含的数据是以可执行sql语句实现的。
C错,因此mysqlimport是类似于load data infile语句功能的shell命令行工具,因此对应倒入的文件都应该是非sql语句执行的纯表数据文件。
我们看到mysqldump在未使用--database项导出时,并未在文件中使用create database语句。

当导入数据库dump文件,你需要在命令中指定数据库名,即use db_name进入此库:shell> mysql db_name < dump.sql因此B正确
mysql -e 可用于执行语句,但是mysql客户端语句需要使用分号作为终止符发给服务端,因此每个语句后都需要使用分号,D错误。

如果D为Shell> mysql –u root -p –e 'use sakila; source sakila2013.sql;' 则正确。
E错. mysql命令项使用中,短项使用单横杠,长命令项使用双横杠 -silent项应该时候双横杠,因此错。

参考:
http://dev.mysql.com/doc/refman/5.7/en/load-data.html
http://dev.mysql.com/doc/refman/5.7/en/mysqlimport.html
http://dev.mysql.com/doc/refman/5.7/en/mysql.html
页: [1]
查看完整版本: 【dbdao.com MySQL OCP认证专题】- MySQL 5.6 - OCP 考题讲解 - 6