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




  有时,希望除去某些记录或更改它们的内容。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命令行如何书写。