zoukankan      html  css  js  c++  java
  • MySQL基础之更新和删除数据

    更新数据

    为了更新(修改)表中的数据, 可使用UPDATE语句。可采用两种方式使用UPDATE:

    • 更新表中特定的行
    • 更新表中的所有行

    基本的UPDATE语句由3部分组成, 分别是:

    • 要更新的表
    • 列名和他们的新值
    • 确定要更新行的过滤条件
    MariaDB [crashcourse]> UPDATE customers SET cust_email = 'elemer@fudd.com' WHERE cust_id = 10005;
    Query OK, 1 row affected (0.013 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    
    MariaDB [crashcourse]> 

    UPDATE语句中可以使用子查询。使得能用SELECT语句检索出的数据更新列数据

    如果用UPDATE语句更新多行, 并且在更新这些行中的一行或多行出现错误的时候, 则整个UPDATE操作被取消。

    为即使是发送错误, 也继续进行更新, 可使用IGIORE关键字, 如下所示:

    UPDATE IGNORE customers ...

    为了删除某个列, 可以设置它为NULL.

    MariaDB [crashcourse]> UPDATE customers SET cust_email = NULL WHERE cust_id = 10005;
    Query OK, 1 row affected (0.002 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    
    MariaDB [crashcourse]> 

    删除数据

    从表中删除数据, 使用DELETE语句。可以两种方式使用DELETE:

    • 从表中删除特定的行
    • 从表中删除所有的行
    MariaDB [crashcourse]> DELETE FROM customers WHERE cust_id = 10006;
    Query OK, 0 rows affected (0.000 sec)
    
    MariaDB [crashcourse]> 

    DELETE不需要使用列名或通配符。DELETE删除整行而不是删除列。为了删除指定的列, 请使用UPDATE语句

    DELETE语句从表中删除行, 甚至是删除表中所有的行。但是, DELETE不删除表本身

    更新和删除的指导原则

    使用UPDATE和DELETE语句全都具有WHERE子句,如果省略了WHERE子句,则UPDATE或DELETE将被应用到表中所有的行。

    下面是许多SQL程序员使用UPDATE或DELETE时所遵循的习惯:

    • 除非确实打算更新和删除每一行,否则绝对不要使用不带WHERE子句的UPDATE或DELETE语句
    • 保证每个表都有主键,尽可能像WHERE子句那样使用它(可以指定各主键、多个值或值的范围)
    • 在对UPDATE或DELETE语句使用WHERE子句前,应该先用SELECT进行测试,保证它过滤的是正确的记录,以防编写的WHERE子句不正确
    • 使用强制实施引用完整性的数据库,这样MySQL将不允许删除具有与其他表相关联的数据的行
  • 相关阅读:
    解决ListView异步加载数据之后不能点击的问题
    android点击实现图片放大缩小 java技术博客
    关于 数据文件自增长 的一点理解
    RAC 实例不能启动 ORA1589 signalled during ALTER DATABASE OPEN
    Linux 超级用户的权利
    RAC 实例 迁移到 单实例 使用导出导入
    Shell 基本语法
    Linux 开机引导与关机过程
    RAC 实例不能启动 ORA1589 signalled during ALTER DATABASE OPEN
    Oracle RAC + Data Guard 环境搭建
  • 原文地址:https://www.cnblogs.com/featherwit/p/13406606.html
Copyright © 2011-2022 走看看