zoukankan      html  css  js  c++  java
  • MySQL数据库(5)----删除或更新已有行

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

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

    DELETE  FROM tbl_name
    WHERE  which 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.00 sec)
    
    mysql> delete from student where sex='F';
    Query OK, 2 rows affected (0.01 sec)
    
    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
    
    SET  which columns to change
    
    WHERE which 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.00 sec)
    
    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.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    
    mysql> 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)
  • 相关阅读:
    1. cocos creator 连接服务端
    cocos creator 中的粒子效果
    cocos creator
    5.4 笔记
    事后诸葛亮
    PHP之魔术方法
    结队编程--作业一
    团队作业9——事后分析(Beta版本)
    团队作业8——测试与发布(Beta阶段)
    Beta版本冲刺计划
  • 原文地址:https://www.cnblogs.com/dongling/p/5679669.html
Copyright © 2011-2022 走看看