mysql更新某一行_MySQL数据库(5)----删除或更新已有行

有时候,会需要删除某些行,或者修改其内容。这是候便需要用到DELETE语句和UPDATE语句。

1.  DELETE 语句的基本格式如下所示:

DELETE FROM tbl_name

WHEREwhich rows to delete;

其中,WHERE子句是可选的,它用于指定需要删除掉哪些行。如果没有WHERE 子句,那么将删除表里面的所有行。这意味着,越简单的DELETE语句越危险,例如下面的语句:

DELETE FROM tbl_name

它会彻底删除表里的内容,因此务必要小心使用。

如果不清楚某条DELETE语句到底会删除哪些行,那么最好把这条语句的WHERE子句放到一条SELECT 语句里,看看这条SELECT 语句能查出哪些行。这有助于确认:它们的确是你想要删除的那些行,而且只有这些,不能多也不能少。

如下是一个使用示例:

mysql> select *from student;+--------+-----+------------+

| name | sex | student_id |

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

| Jim | M | 1 |

| Tom | M | 2 |

| Lily | F | 3 |

| Lucy | F | 4 |

| Travis | M | 5 |

| Steve | M | 6 |

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

6 rows in set (0.00sec)

mysql> delete from studentwhere sex='F';

Query OK,2 rows affected (0.01sec)

mysql> select *from student;+--------+-----+------------+

| name | sex | student_id |

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

| Jim | M | 1 |

| Tom | M | 2 |

| Travis | M | 5 |

| Steve | M | 6 |

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

4 rows in set (0.00 sec)

2. 如果想要修改已有记录行,则需要使用UPDATE语句,其基本格式如下:

UPDATE tbl_name

SETwhichcolumns to change

WHEREwhich rows to update;

这里的WHERE子句的情况与DELETE语句里的相似,它是可选的,因此在没有指定它时,会更新表里的每一行。例如,下面的语句会把每一位学生的 name 更改为 George:

mysql> UPDATE student SET name='George';

很显然,必须谨慎对待这类查询,所以通常情况下都需要加上一个WHERE子句,用它来更具体地指出需要更行那些行。

假设在 student 表里添加了一行,但忘记指定 sex 列的内容,默认地,该列会被设置为 'F':

mysql>INSERT INTO student (name)-> VALUES('Julian');

Query OK,1 row affected (0.00sec)

mysql> SELECT *FROM student;+--------+-----+------------+

| name | sex | student_id |

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

| Jim | M | 1 |

| Tom | M | 2 |

| Travis | M | 5 |

| Steve | M | 6 |

| Hellen | M | 7 |

| Julian | F | 8 |

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

6 rows in set (0.00 sec)

此时,可以用一条UPDATE语句来进行修复,其中包含一条WHERE子句,用以标识需要更新的那一行:

mysql>UPDATE student-> SET sex='M'

-> WHERE name='Julian';

Query OK,1 row affected (0.00sec)

Rows matched:1 Changed: 1 Warnings: 0mysql> SELECT *FROM student;+--------+-----+------------+

| name | sex | student_id |

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

| Jim | M | 1 |

| Tom | M | 2 |

| Travis | M | 5 |

| Steve | M | 6 |

| Hellen | M | 7 |

| Julian | M | 8 |

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

6 rows in set (0.00 sec)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值