来源:www.cncfan.com | 2006-3-20 | (有6320人读过)
到目前为止,我们的所有的例子都是针对表中的所有记录的。作为对SELECT命令的补充,我们可以使用“WHERE子句”,这样我们可以对返回的结果进行限制。看看下面这个例子:
mysql> SELECT COUNT(*) FROM Jokes -> WHERE JokeDate >= "2000-01-01";
这个查询语句会数出所有日期“大于或等于”2000年1月1日的记录,对于一个日期来说“大于或等于”意味着“在当天或在此之后”。 有一种比较特殊的用法可以找出包含某一段文字的记录。你可以看看这个查询语句:
mysql> SELECT JokeText FROM Jokes -> WHERE JokeText LIKE "%chicken%";
这个查询语句显示了所有JokeText列包含单词chicken的笑话的正文。LIKE关键字告诉MySQL指定的列必须匹配给定的表达式。在这里,我们使用的表达式是"%chicken%"。这儿的%说明单词chicken可以出现在任何字符串的前面或后面。 条件也可以在WHERE子句中组合使用,这样可以做更复杂的查询。例如我们要显示2000年4月份的knock-knock笑话,我们可以使用下面的查询语句:
mysql> SELECT JokeText FROM Jokes WHERE -> JokeText LIKE "%knock knock%" AND -> JokeDate >= "2000-04-01" AND -> JokeDate < "2000-05-01";
在表中添加再一些笑话,再试验试验SELECT语句。熟悉SELECT语句会有助于学习这个教程。 我们还可以用SELECT语句做很多事,但是我们在这里将不再详细讨论它,我们在需要的时候才会再讲到其他一些高级的功能。如果你太好奇,没法再等下去的话,你可以去看MySQL用户手册。
修改存储的数据 一旦你已经向数据库的表中输入了一些数据,你可能想要进行一些修改。例如改正拼写错误,以及其他有关笑话的数据,所有的这些改变都可以用UPDATE命令来完成。这个命令包含了一些INSERT命令(在设置列的数值方面)和 SELECT命令(在选取改变对象方面)的基本原理。UPDATE命令的基本格式是这样的:
mysql> UPDATE <tableName> SET -> <col_name>=<new_value>, ... -> WHERE <where clause>;
例如,如果你想要改变上面输入的笑话的日期,你需要输入下面的命令:
mysql> UPDATE Jokes SET JokeDate="1990-04-01" WHERE ID=1;
这儿我们用到了ID列。通过它你可以很方便地指定你要改变的笑话。WHERE子句也可以用在这里,就象在SELECT命令中那样。下面的命令是改变所有正文中包含单词chicken的笑话的日期:
mysql> UPDATE Jokes SET JokeDate="1990-04-01" -> WHERE JokeText LIKE "%chicken%";
删除存储数据 在SQL中删除一个内容是令人恐怖的简单,下面是这个命令的格式:
mysql> DELETE FROM <tableName> WHERE <where clause>;
要删除所有包含chicken的笑话,你只需要输入下面的命令:
mysql> DELETE FROM Jokes WHERE JokeText LIKE "%chicken%";
这里的WHERE子句是可选的,但是如果你不用它,你应该清楚你在干什么,因为这时其实你是在清空这个数据表。下面这个命令将清空Jokes数据表:
mysql> DELETE FROM Jokes;
结语 事实上除了我们在这里已经看到的这些基本的命令,MySQL数据库系统和SQL语句还有许多其它值得学的东西,但是我们提到的这些命令是一些最常用的命令。到目前为止,我们只是在一个数据表中工作。要理解关系型数据库引擎的真正的强大功能,你还需要学会如果同时使用几个表以描述表之间可能存在的复杂的关系。 所有的这些内容以及一些其他的内容,我们都会在我们的这个教程的第四章内讲到,在第四章中,我们会讨论数据库的设计原理并参考一些复杂一点的例子。现在,我们需要能够熟练地使用命令行界面来操作MySQL。 在第三章内,我们将深入研究PHP这个服务器端的脚本语言,并且学习使用它来建立一个动态的Web页面。
|