十二 052009

在Linux上把MySQL库导出为sql和txt,在Linux上是很容易导入

mysql -u root -ppassword dbname < db_struc.sql

mysqlimport –local -uroot -ppassword dbname `find . -name “*.txt”`

Windows下麻烦了,没有find,又不支持*.txt

后来想到办法,建了个bat文件

用替换的方法将文件修改为

mysqlimport -uroot -ppassword dbname d:\dump\table1.txt

mysqlimport -uroot -ppassword dbname d:\dump\table2.txt

进入cmd
c:
cd "\Documents and Settings\user\桌面\test_2011-03-10\2011-03-10"
创建数据库test
"F:\Program Files\xampp\xampp\mysql\bin\mysql.exe" -uroot -pmanypassword
CREATE DATABASE IF NOT EXISTS test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
exit

导入数据结构
"F:\Program Files\xampp\xampp\mysql\bin\mysql.exe" -uroot -pmanypassword test < test_db_struc.sql
获取所有表的txt文件名
dir /b *.txt > c:\import.bat
现在的格式是
test_data.txt
test_data_a.txt

然后用editplus打开,替换成这样的格式
"F:\Program Files\xampp\xampp\mysql\bin\mysqlimport.exe" --local -uroot -pmanypassword test test_data.txt
"F:\Program Files\xampp\xampp\mysql\bin\mysqlimport.exe" --local -uroot -pmanypassword test test_data_a.txt

把import.bat放到c:\Documents and Settings\user\桌面\test_2011-03-10\2011-03-10
执行,数据就导进去了

Posted by admin Tagged with:
十一 282009

mysql> drop user 'test_s99'@'%';
ERROR 1268 (HY000): Can't drop one or more of the requested users

revoke all on test_s99.* from 'test_s99'@'localhost';
drop user 'test_s99'@'localhost';

The DROP USER statement removes one or more MySQL accounts. To use it, you must have the DELETE privilege for the mysql database. Each account is named using the same format as for the GRANT  statement; for example, 'jeffrey'@'localhost'. If you specify only the user name part of the account name, a host name part of '%' is used. For additional information about specifying account names, see Section 12.5.1.2, “GRANT Syntax”.

DROP USER was added in MySQL 4.1.1. In MySQL 4.1, it serves only to remove account rows from the user table for accounts that have no privileges. To remove a MySQL account completely (including all of its privileges), you should use the following procedure, performing the steps in the order shown:

1.

Use SHOW GRANTS to determine what privileges the account has. See Section 12.5.5.12, “SHOW GRANTS Syntax”.
2.

Use REVOKE to revoke the privileges displayed by SHOW GRANTS. This removes rows for the account from all the grant tables except the user table, and revokes any global privileges listed in the user table. See Section 12.5.1.2, “GRANT Syntax”.
3.

Delete the account by using DROP USER to remove the user table row.

In MySQL 5.0.2 and up, DROP USER removes the account row in the user table and also revokes the privileges held by the account. It is not necessary to use DROP USER in conjunction with REVOKE.
Important

DROP USER does not automatically close any open user sessions. Rather, in the event that a user with an open session is dropped, the statement does not take effect until that user's session is closed. Once the session is closed, the user is dropped, and that user's next attempt to log in will fail. This is by design.

Before MySQL 4.1.1, DROP USER is not available. You should first revoke the account privileges using SHOW GRANTS and REVOKE as just described. Then delete the user table row and flush the grant tables as shown here:

http://dev.mysql.com/doc/refman/4.1/en/drop-user.html

Posted by admin Tagged with:
十一 072009

昨天暴风的技术人员找我要核对充值数据,说是时间对不上;我检查了之后发现二服的数据库的时间有问题,我使用from_unixtime()这个方法查看1257868800这个时间戳顯示的不是2009-11-11,而是2009-11-10 11:00:00,时间差了十三个小时。而后台显示那里是用from_unixtime()这个方法来显示时间格式的,所以所有的订单数据都对不上他们那边系统记录的时间。据说是因为装MYSQL的时候的时间不对,导致后来MYSQL的时区就不对了,后来系统虽然把时区改过来了,但是MYSQL的时区还是在装机的时候的那个时区,显示就错误了。

知道了原因之后就能解决了,上网搜索了一下,找到了解决的方法。现在把我的解决方式记录一下。

先检查MYSQL的时区,打开一台MYSQL时区正确的机器,然后打开有问题的机器,确认是时区错误。

先打开时区正确的机器:进入MYSQL,在命令行输入:mysql -uroot -p****(root的密码),进去之后输入show variables like ‘%time_zone%’;然后回车,得到如下的显示:

+——————+——–+
| Variable_name    | Value  |
+——————+——–+
| system_time_zone | CST    |
| time_zone        | SYSTEM |
+——————+——–+
2 rows in set (0.00 sec)

然后再输入select from_unixtime(1257868800);回车,得到如下结果:

+—————————+
| from_unixtime(1257868800) |
+—————————+
| 2009-11-11 00:00:00       |
+—————————+
1 row in set (0.00 sec)

好了,再去有问题有机器上执行相同的操作发现执行show variables like ‘%time_zone%’;得到的结果是:

+——————+——–+
| Variable_name    | Value  |
+——————+——–+
| system_time_zone | EDT    |
| time_zone        | SYSTEM |
+——————+——–+
2 rows in set (0.01 sec)

执行select from_unixtime(1257868800);得到的结果是:

+—————————+
| from_unixtime(1257868800) |
+—————————+
| 2009-11-10 11:00:00       |
+—————————+
1 row in set (0.00 sec)

时间差了十三个小时。怎么样把时区调回我们想要的呢?虽然网上说可以在命令行下执行set time_zone = ‘+8:00′;之后就设置了时区,但是这样的操作没有对全司有效。只是在执行这个之后再在命令行下执行其它的操作可以得到正确的数据。但是在phpmyadmin下得到的结果还是错的。所以要修改MYSQL的配置文件来达到修改全局变量的目的。

先去找到mysql的配置文件my.cnf,一般在/etc/my.cnf下面,可以cd /etc 然后find my.cnf找找,看能不能找到。找到之后就修改它,用VI打开:vi /etc/my.cnf,打开之后查找[mysqld],在VI输入“/”然后输入[mysqld],就定位到[mysqld]所在的位置,在它的下面加上default-time-zone = ‘+8:00′这一行,然后保存退出,重新启动MYSQL,使时区生效。这个时候再去MYSQL下查看刚才的那两条命令,就会发现时区都设置正确了。

到此,时区不对的问题就解决了。

转载自:http://www.codeo4.cn/?p=318

Posted by admin Tagged with:
十一 062009

平时用得好好的创建数据库的命令,突然间用不了了,今天把MySQL重启,发现无法启动,终端输出信息为
Starting mysqld daemon with databases from /usr/local/mysql/var
091104 12:28:16  mysqld restarted
/usr/local/mysql/bin/mysqld_safe: line 390:  7558 Killed                  nohup /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var --user=mysql --pid-file=/usr/local/mysql/var/s1.1199.com.pid --skip-external-locking --port=3306 --socket=/tmp/mysql.sock >> /usr/local/mysql/var/s1.1199.com.err 2>&1

Number of processes running now: 0

ps aux |grep mysql
发现有如下进程
ps aux |grep mysql
root     23070  0.2  0.0  63824  1212 pts/1    S    12:19   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe
mysql    26295  112  0.0      0     0 pts/1    Zl   12:22   0:01 [mysqld] <defunct>

cd /usr/local/mysql/var/
more s1.1199.com.err

发现错误如下
091104 12:19:29  mysqld started
/usr/local/mysql/libexec/mysqld: Error writing file '/usr/local/mysql/var/s1-slow.log' (Errcode: 28)
091104 12:19:29 [ERROR] Could not use /usr/local/mysql/var/s1-slow.log for logging (error 28). Turning logging off for the whole dur
ation of the MySQL server process. To turn it on again: fix the cause, shutdown the MySQL server and restart it.
091104 12:19:30  InnoDB: Started; log sequence number 0 1511759772
091104 12:19:30 [ERROR] /usr/local/mysql/libexec/mysqld: Error writing file '/usr/local/mysql/var/s1.1199.com.pid' (Errcode: 28)
091104 12:19:30 [ERROR] Can't start server: can't create PID file: No space left on device
df -h看了下
发现硬盘满了,删除掉多余文件,启动MySQL就可以了。

Posted by admin Tagged with:
162009

注:当出现类似 mysqlimport: Error: Can't get stat of '/usr/t2.txt' (Errcode: 13), when using table: t2 这样的错误,检查文件权限。如果不行,加上 --local 选项。

1).MySQLimport的语法介绍:

MySQLimport位于MySQL/bin目录中,是MySQL的一个载入(或者说导入)数据的一个非常有效的工具。这是一个命令行工具。有两个
参数以及大量的选项可供选择。这个工具把一个文本文件(text
file)导入到你指定的数据库和表中。比方说我们要从文件Customers.txt中把数据导入到数据库Meet_A_Geek中的表
Custermers中:

mysqlimport Meet_A_Geek Customers.txt

注意:这里Customers.txt是我们要导入数据的文本文件,而Meet_A_Geek是我们要操作的数据库,数据库中的表名是Customers,这里文本文件的数据格式必须与Customers表中的记录格式一致,否则MySQLimport命令将会出错。

其中表的名字是导入文件的第一个句号(.)前面文件字符串,另外一个例子:MySQLimport Meet_A_Geek Cus.to.mers.txt

那么我们将把文件中的内容导入到数据库Meet_A_Geek 中的Cus表中。

上面的例子中,都只用到两个参数,并没有用到更多的选项,下面介绍MySQLimport的选项

2).MySQLimport的常用选项介绍:

选项 功能

-d or --delete 新数据导入数据表中之前删除数据数据表中的所有信息

-f or --force 不管是否遇到错误,MySQLimport将强制继续插入数据

-i or --ignore MySQLimport跳过或者忽略那些有相同唯一关键字的行, 导入文件中的数据将被忽略。

-l or -lock-tables 数据被插入之前锁住表,这样就防止了,你在更新数据库时,用户的查询和更新受到影响。

-r or -replace 这个选项与-i选项的作用相反;此选项将替代表中有相同唯一关键字的记录。

--fields-enclosed- by= char 指定文本文件中数据的记录时以什么括起的, 很多情况下数据以双引号括起。 默认的情况下数据是没有被字符括起的。

--fields-terminated- by=char 指定各个数据的值之间的分隔符,在句号分隔的文件中,分隔符是句号。您可以用此选项指定数据之间的分隔符。

默认的分隔符是跳格符(Tab)

--lines-terminated- by=str 此选项指定文本文件中行与行之间数据的分隔字符串或者字符。 默认的情况下MySQLimport以newline为行分隔符。

您可以选择用一个字符串来替代一个单个的字符:

一个新行或者一个回车。

MySQLimport命令常用的选项还有-v 显示版本(version),-p 提示输入密码(password)等。

3).例子:导入一个以逗号为分隔符的文件

文件中行的记录格式是这样的:

"1", "ORD89876", "1 Dozen Roses", "19991226"

我们的任务是要把这个文件里面的数据导入到数据库Meet_A_Geek中的表格Orders中,我们使用这个命令:

bin/MySQLimport –prl –fields-enclosed-by=" –fields-terminated-by=, Meet_A_Geek Orders.txt

这个命令可能看起来很不爽,不过当你熟悉了之后,这是非常简单的。第一部分,bin/MySQLimport
,告诉操作系统你要运行的命令是MySQL/bin目录下的MySQLimport,选项p是要求输入密码,这样就要求你在改动数据库之前输入密码,操作
起来会更安全。我们用了r选项是因为我们想要把表中的唯一关键字与文件记录中有重复唯一关键字的记录替换成文件中的数据。我们表单中的数据不是最新的,需
要用文件中的数据去更新,因而就用r这个选项,替代数据库中已经有的记录。l选项的作用是在我们插入数据的时候锁住表,这样就阻止了用户在我们更新表的时
候对表进行查询或者更改的操作。

批处理是一种非交互式运行MySQL程序的方法,如同您在MySQL中使用的命令一样,你仍然将使用这些命令。

为了实现批处理,您重定向一个文件到MySQL程序中,首先我们需要一个文本文件,这个文本文件包含有与我们在MySQL中输入的命令相同的文本。

比如我们要插入一些数据,使用包含下面文本的文件(文件名为New_Data.sql,当然我们也可以取名为New_Data.txt及任何其他的合法名字,并不一定要以后缀sql结尾):

USE Meet_A_Geek;

INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, "Block");

INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, "Newton");

INSERT INTO Customers (Customer_ID, Last_Name) VALUES(NULL, "Simmons");

注意上面的这些句子的语法都必须是正确的,并且每个句子以分号结束。

上面的USE命令选择数据库,INSERT命令插入数据。

下面我们要把上面的文件导入到数据库中,导入之前要确认数据库已经在运行,即是MySQLd进程(或者说服务,Windows NT下面称为”服务“,unix下面为”进程“)已经在运行。

然后运行下面的命令:

bin/MySQL –p

接着按提示输入密码,如果上面的文件中的语句没有错误,那么这些数据就被导入到了数据库中。

命令行中使用LOAD DATA INFILE 从文件中导入数据到数据库:

现在您可能会问自己,"究竟为什么我要输入所有的这些SQL语句到文件中,然后通过程序运行它们呢?”

这样看起来好像需要大量的工作。很好,你这样想很可能就对了。但是假如你有从所有这些命令中产生的log记录呢?现在这样就很棒,嗯,大多数数据库都会自
动产生数据库中的事件记录的
log。而大部分log都包含有用过的原始的SQL命令。因此,如果您不能从您现在的数据库中导出数据到新的MySQL数据库中使用,那么您可以使用
log和MySQL的批处理特性,来快速且方便地导入您地数据。当然,这样就省去了打字的麻烦。

LOAD DATA INFILE

这是我们要介绍的最后一个导入数据到MySQL数据库中的方法。这个命令与MySQLimport非常相似,但这个方法可以在MySQL命令行中使用。也就是说您可以在所有使用API的程序中使用这个命令。使用这种方法,您就可以在应用程序中导入您想要导入的数据。

使用这个命令之前,MySQLd进程(服务)必须已经在运行。

启动MySQL命令行:

bin/MySQL –p

按提示输入密码,成功进入MySQL命令行之后,输入下面的命令:

USE Meet_A_Geek;

LOAD DATA INFILE "/home/mark/data.sql" INTO TABLE Orders;

简单的讲,这样将会把文件data.sql中的内容导入到表Orders中,如MySQLimport工具一样,这个命令也有一些可以选择的参数。比如您需要把自己的电脑上的数据导入到远程的数据库服务器中,您可以使用下面的命令:

LOAD DATA LOCAL INFILE "C:\MyDocs\SQL.txt" INTO TABLE Orders;

上面的LOCAL参数表示文件是本地的文件,服务器是您所登陆的服务器。

这样就省去了使用ftp来上传文件到服务器,MySQL替你完成了.

您也可以设置插入语句的优先级,如果您要把它标记为低优先级(LOW_PRIORITY),那么MySQL将会等到没有其他人读这个表的时候,才把插入数据。可以使用如下的命令:

LOAD DATA LOW_PRIORITY INFILE "/home/mark/data.sql" INTO TABLE Orders;

您也可以指定是否在插入数据的时候,取代或者忽略文件与数据表中重复的键值。替代重复的键值的语法:

LOAD DATA LOW_PRIORITY INFILE "/home/mark/data.sql" REPLACE INTO TABLE Orders;

上面的句子看起来有点笨拙,但却把关键字放在了让您的剖析器可以理解的地方。

下面的一对选项描述了文件的记录格式,这些选项也是在MySQLimport工具中可以用的。他们在这里看起来有点不同。首先,要用到FIELDS关键字,如果用到这个关键字,MySQL剖析器希望看到至少有下面的一个选项:

TERMINATED BY character

ENCLOSED BY character

ESCAPED BY character

这些关键字与它们的参数跟MySQLimport中的用法是一样的. The

TERMINATED BY 描述字段的分隔符,默认情况下是tab字符(\t)

ENCLOSED BY描述的是字段的括起字符。比方以引号括起每一个字段。

ESCAPED BY 描述的转义字符。默认的是反些杠(backslash:\ ).

下面仍然使用前面的MySQLimport命令的例子,用LOAD DATA INFILE语句把同样的文件导入到数据库中:

LOAD DATA INFILE "/home/mark/Orders.txt" REPLACE INTO TABLE Orders FIELDS TERMINATED BY ','   ENCLOSED BY '"';

LOAD DATA INFILE语句中有一个MySQLimport工具中没有特点:

LOAD DATA INFILE 可以按指定的列把文件导入到数据库中。

当我们要把数据的一部分内容导入的时候,这个特点就很重要。比方说,我们要从Access数据库升级到MySQL数据库的时候,需要加入一些栏目(列/字段/field)到MySQL数据库中,以适应一些额外的需要。

这个时候,我们的Access数据库中的数据仍然是可用的,但是因为这些数据的栏目(field)与MySQL中的不再匹配,因此而无法再使用
MySQLimport工具。尽管如此,我们仍然可以使用LOAD DATA
INFILE,下面的例子显示了如何向指定的栏目(field)中导入数据:

LOAD DATA INFILE "/home/Order.txt" INTO TABLE Orders(Order_Number, Order_Date, Customer_ID);

如您所见,我们可以指定需要的栏目(fields)。这些指定的字段依然是以括号括起,由逗号分隔的,如果您遗漏了其中任何一个,MySQL将会提醒您^_^

Importing Data from Microsoft Access (从Access中导入数据,略)

您可以看到MySQL有很多可以导入数据的方法,然而这些只是数据传输中的一半。另外的一般是从MySQL数据库中导出数据。有许多的原因我们需要导
出数据。一个重要的原因是用于备份数据库。数据的造价常常是昂贵的,需要谨慎处理它们。经常地备份可以帮助防止宝贵数据地丢失;另外一个原因是,也许您希
望导出数据来共享。 在这个信息技术不断成长的世界中,共享数据变得越来越常见。

比方说Macmillan
USA维护护着一个将要出版的书籍的大型数据库。这个数据库在许多书店之间共享,这样他们就知道哪些书将会很快出版。医院越来越走向采用无纸病历记录,这
样这些病历可以随时跟着你。世界变得越来越小,信息也被共享得越来越多。有很多中导出数据得方法,它们都跟导入数据很相似。因为,毕竟,这些都只是一种透
视得方式。从数据库导出的数据就是从另一端导入的数据。这里我们并不讨论其他的数据库各种各样的导出数据的方法,您将学会如何用MySQL来实现数据导
出。

使用MySQLdump:

MySQLdump命令位于MySQL/bin/目录中

MySQLdump工具很多方面类似相反作用的工具MySQLimport。它们有一些同样的选项。但MySQLdump能够做更多的事情。它可以把
整个数据库装载到一个单独的文本文件中。这个文件包含有所有重建您的数据库所需要的SQL命令。这个命令取得所有的模式(Schema,后面有解释)并且
将其转换成DDL语法(CREATE语句,即数据库定义语句),取得所有的数据,并且从这些数据中创建INSERT语句。这个工具将您的数据库中所有的设
计倒转。因为所有的东西都被包含到了一个文本文件中。这个文本文件可以用一个简单的批处理和一个合适SQL语句导回到MySQL中。这个工具令人难以置信
地简单而快速。决不会有半点让人头疼地地方。

因此,如果您像装载整个数据库Meet_A_Geek的内容到一个文件中,可以使用下面的命令:

bin/MySQLdump –p Meet_A_Geek > MeetAGeek_Dump_File.txt

这个语句也允许您指定一个表进行dump(备份/导出/装载?)。如果您只是希望把数据库Meet_A_Geek中的表Orders中的整个内容导出到一个文件,可以使用下面的命令:

bin/MySQLdump –p Meet_A_Geek Orders >MeetAGeek_Orders.txt

这个非常的灵活,您甚至可以使用WHERE从句来选择您需要的记录导出到文件中。要达到这样的目的,可以使用类似于下面的命令:

bin/MySQLdump –p –where="Order_ID > 2000" Meet_A_Geek Orders > Special_Dump.txt

MySQLdump工具有大量的选项,部分选项如下表:

选项/Option 作用/Action Performed

--add-drop-table

这个选项将会在每一个表的前面加上DROP TABLE IF EXISTS语句,这样可以保证导回MySQL数据库的时候不会出错,因为每次导回的时候,都会首先检查表是否存在,存在就删除

--add-locks

这个选项会在INSERT语句中捆上一个LOCK TABLE和UNLOCK TABLE语句。这就防止在这些记录被再次导入数据库时其他用户对表进行的操作

-c or - complete_insert

这个选项使得MySQLdump命令给每一个产生INSERT语句加上列(field)的名字。当把数据导出导另外一个数据库时这个选项很有用。

--delayed-insert 在INSERT命令中加入DELAY选项

-F or -flush-logs 使用这个选项,在执行导出之前将会刷新MySQL服务器的log.

-f or -force 使用这个选项,即使有错误发生,仍然继续导出

--full 这个选项把附加信息也加到CREATE TABLE的语句中

-l or -lock-tables 使用这个选项,导出表的时候服务器将会给表加锁。

-t or -no-create- info

这个选项使的MySQLdump命令不创建CREATE TABLE语句,这个选项在您只需要数据而不需要DDL(数据库定义语句)时很方便。

-d or -no-data 这个选项使的MySQLdump命令不创建INSERT语句。

在您只需要DDL语句时,可以使用这个选项。

--opt 此选项将打开所有会提高文件导出速度和创造一个可以更快导入的文件的选项。

-q or -quick 这个选项使得MySQL不会把整个导出的内容读入内存再执行导出,而是在读到的时候就写入导文件中。

-T path or -tab = path
这个选项将会创建两个文件,一个文件包含DDL语句或者表创建语句,另一个文件包含数据。DDL文件被命名为table_name.sql,数据文件被命
名为table_name.txt.路径名是存放这两个文件的目录。目录必须已经存在,并且命令的使用者有对文件的特权。

-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

转载自: http://www.blogjava.net/onlykeke/archive/2007/12/02/71348.html

Posted by admin Tagged with: