电脑技术学习

修改、删除数据记录(DELETEUPDATE)

dn001

有时,希望除去某些记录或更改它们的内容。DELETE 和 UPDATE 语句令我们能做到这一点。

用update修改记录

UPDATE tbl_name SET 要更改的列

WHERE 要更新的记录

这里的 WHERE 子句是可选的,因此如果不指定的话,表中的每个记录都被更新。

例如,在pet表中,我们发现宠物Whistler的性别没有指定,因此我们可以这样修改这个记录:

mysql> update pet set sex=’f’ where name=” Whistler”;

用delete删除记录

DELETE 语句有如下格式:

DELETE FROM tbl_name WHERE 要删除的记录

WHERE 子句指定哪些记录应该删除。它是可选的,但是如果不选的话,将会删除所有的记录。这意味着最简单的 DELETE 语句也是最危险的。
这个查询将清除表中的所有内容。一定要当心!

为了删除特定的记录,可用 WHERE 子句来选择所要删除的记录。这类似于 SELECT 语句中的 WHERE 子句。

mysql> delete from pet where name=”Whistler”;

可以用下面的语句清空整个表:

mysql>delete from pet;

总结

本节介绍了两个SQL语句的用法。使用UPDATE和DELETE语句要十分小心,因为可能对你的数据造成危险。尤其是DELETE语句,很容易会删除大量数据。使用时,一定小心。

思考题

1、请亲自按照本章所述的步骤,让MySQL服务器在Linux系统启动时,自动启动。并尝试其它启动、重启、关闭服务器的方法。

2、现在有一个位于主机database.domain.net的MySQL服务器,用root用户的身份,密码为newpass,连接到数据库test。如何给出合适的命令行?如果使用选项文件,如何添加选项?

3、在test数据库中建立一个本章举例中所述的表pet,其结构如下所述:

name:30个宽度的定长字符串

owner:30个宽度的定长字符串

species:10个宽度的定长字符串

sex:由m和f组成的非空枚举类型

birth:date类型

death:date类型

4、本章中pet表的数据录入表中:

+----------+--------+---------+------+------------+------------+

| name;;| owner; | species | sex; | birth;;;| death;;;|

+----------+--------+---------+------+------------+------------+

| Fluffy| Harold | cat;;| f;| 1993-02-04 | NULL;;;;|

| Claws;| Gwen| cat;;| m;| 1994-03-17 | NULL;;;;|

| Buffy;| Harold | dog;;| f;| 1989-05-13 | NULL;;;;|

| Chirpy| Gwen| bird;| f;| 1998-09-11 | NULL;;;;|

| Fang;;| Benny; | dog;;| m;| 1990-08-27 | NULL;;;;|

| Bowser| Diane; | dog;;| m;| 1990-08-31 | 1995-07-29 |

| Whistler | Gwen| bird;| NULL | 1997-12-09 | NULL;;;;|

| Slim;;| Benny; | snake| m;| 1996-04-29 | NULL;;;;|

| Puffball | Diane; | hamster | f;| 1999-03-30 | NULL;;;;|

+----------+--------+---------+------+------------+------------+

请把数据记录到一个数据文件中,然后使用LOAD DATA INFILE语句装载数据。提示:如果在Windows环境中,那么文件的换行符是”rn”。

如果是使用实用程序mysqlimport命令行如何书写。