Mysql中mysqldump命令使用详解 (2)

Mysql中mysqldump命令使用详解 (2) - 应用软件 - 电脑教程网

Mysql中mysqldump命令使用详解 (2)

日期:2006-07-11   荐:
-w "WHERE Clause" or -where = "Where clause "   如前面所讲的,您可以使用这一选项来过筛选将要放到 导出文件的数据。   假定您需要为一个表单中要用到的帐号建立一个文件,经理要看今年(2004年)所有的订单(Orders),它们并不对DDL感兴趣,并且需要文件有逗号分隔,因为这样就很容易导入到Excel中。 为了完成这个人物,您可以使用下面的句子:   bin/mysqldump –p –where "Order_Date >='2000-01-01'"   –tab = /home/mark –no-create-info –fields-terminated-by=, Meet_A_Geek Orders   这将会得到您想要的结果。     schema:模式   The set of statements, expressed in data definition language, that completely describe the structure of a data base.   一组以数据定义语言来表达的语句集,该语句集完整地描述了数据库的结构。     SELECT INTO OUTFILE :   如果您觉得mysqldump工具不够酷,就使用SELECT INTO OUTFILE吧, MySQL同样提供一个跟LOAD DATA INFILE命令有相反作用的命令,这就是SELECT INTO OUTFILE 命令,这两个命令有很多的相似之处。首先,它们有所有的选项几乎相同。现在您需要完成前面用mysqldump完成的功能,可以依照下面的步骤进行操作:     1. 确保mysqld进程(服务)已经在运行   2. cd /usr/local/mysql   3. bin/mysqladmin ping ;// 如果这个句子通不过,可以用这个:mysqladmin -u root -p ping   mysqladmin ping用于检测mysqld的状态,is alive说明正在运行,出错则可能需要用户名和密码。   4. 启动MySQL 监听程序.   5. bin/mysql –p Meet_A_Geek;// 进入mysql命令行,并且打开数据库Meet_A_Geek,需要输入密码   6. 在命令行中,输入一下命令:   SELECT * INTO OUTFILE '/home/mark/Orders.txt'   FIELDS   TERMINATED BY = ','   FROM Orders   WHERE Order_Date >= '2000-01-01'     在你按了Return(回车)之后,文件就创建了。这个句子就像一个规则的SELECT语句,只是把想屏幕的输出重定向到了文件中。这意味这您可以使用JOIN来实现多表的高级查询。这个特点也可以被用作一个报表产生器。     比方说,您可以组合这一章中讨论的方法来产生一个非常有趣的查询,试试这个:     在mysql目录建立一个名为Report_G.rpt 的文本文件,加入下面的行:   USE Meet_A_Geek;   INSERT INTO Customers (Customer_ID, Last_Name, First_Name)   VALUES (NULL, "Kinnard", "Vicky");   INSERT INTO Customers (Customer_ID, Last_Name, First_Name)   VALUES (NULL, "Kinnard", "Steven");   INSERT INTO Customers (Customer_ID, Last_Name, First_Name)   VALUES (NULL, "Brown", "Sam");   SELECT Last_Name INTO OUTFILE '/home/mark/Report.rpt'   FROM Customers WHERE Customer_ID > 1;   然后确认 mysql进程在运行,并且您在mysql目录中, 输入下面的命令:   bin/mysql < Report_G.rpt检查您命名作为输出的文件,这个文件将会包含所有您在Customers表中输入的顾客的姓。 如您所见,您可以使用今天学到的导入/导出(import/export)的方法来帮助得到报表。
标签: