[关闭]
@yanglt7 2018-06-06T06:34:33.000000Z 字数 3178 阅读 1114

3 MySQL WHERE 、UPDATE、DELETE、LIKE

MySQL


WHERE子句

SQL SELECT 语句使用 WHERE 子句从数据表中读取数据的通用语法:

  1. SELECT field1,field2,...fieldN FROM table_name1,table_name2...
  2. [WHERE condition1 [AND [OR]] condition2......

以下为操作符列表,可用于 WHERE 子句中。
下表中实例假定 A 为 10, B 为 20

操作符 描述 实例
= 等号,检测两个值是否相等,如果相等返回true (A=B)返回false。
<>,!= 不等于,检测两个值是否相等,如果不相等返回true (A!=B)返回true。
> 大于号,检测左边的值是否大于右边的值,如果左边的值大于右边的值返回true (A>B)返回false。
< 小于号,检测左边的值是否小于右边的值,如果左边的值小于右边的值返回true (A
*>= 大于等于号,检测左边的值是否大于或等于右边的值,如果左边的值大于或等于右边的值返回true (A>=B)返回false。
<= 小于等于号,检测左边的值是否小于或等于右边的值,如果左边的值小于或等于右边的值返回true (A<=B)返回true

使用主键来作为 WHERE 子句的条件查询是非常快速的。
如果给定的条件在表中没有任何匹配的记录,那么查询不会返回任何数据。

  1. mysql> SELECT * from runoob_tbl WHERE runoob_author = '菜鸟教程';
  2. +-----------+--------------+---------------+-----------------+
  3. | runoob_id | runoob_title | runoob_author | submission_date |
  4. +-----------+--------------+---------------+-----------------+
  5. | 1 | 学习 PHP | 菜鸟教程 | 2017-08-10 |
  6. | 2 | 学习MYSQL | 菜鸟教程 | 2017-08-10 |
  7. +-----------+--------------+---------------+-----------------+
  8. mysql> SELECT * from runoob_tbl WHERE BINARY runoob_author = 'runoob.com';
  9. Empty set (0.00 sec)
  10. mysql> SELECT * from runoob_tbl WHERE BINARY runoob_author = 'RUNOOB.COM';
  11. +-----------+--------------+---------------+-----------------+
  12. | runoob_id | runoob_title | runoob_author | submission_date |
  13. +-----------+--------------+---------------+-----------------+
  14. | 3 | JAVA教程 | RUNOOB.COM | 2016-05-06 |
  15. +-----------+--------------+---------------+-----------------+

MySQL 的 WHERE 子句的字符串比较是不区分大小写的。 你可以使用 BINARY 关键字来设定 WHERE 子句的字符串比较是区分大小写的。

UPDATE查询

UPDATE 命令修改 MySQL 数据表数据的通用 SQL 语法:

  1. UPDATE table_name SET field1=new-value1,field2=new-value2
  2. [WHERE Clause]
  1. mysql> UPDATE runoob_tbl SET runoob_title = '学习 C++' WHERE runoob_id=3;
  2. mysql> SELECT*from runoob_tbl WHERE runoob_id = 3;
  3. +-----------+--------------+---------------+-----------------+
  4. | runoob_id | runoob_title | runoob_author | submission_date |
  5. +-----------+--------------+---------------+-----------------+
  6. | 3 | 学习 C++ | RUNOOB.COM | 2016-05-06 |
  7. +-----------+--------------+---------------+-----------------+

DELETE语句

SQL DELETE 语句从 MySQL 数据表中删除数据的通用语法:

  1. DELETE FROM table_name [WHERE Clause]
  2. mysql> DELETE FROM runoob_tbl WHERE runoob_id=3;

LIKE子句

我们知道在 MySQL 中使用 SQL SELECT 命令来读取数据, 同时我们可以在 SELECT 语句中使用 WHERE 子句来获取指定的记录。
WHERE 子句中可以使用等号 = 来设定获取数据的条件,如 "runoob_author = 'RUNOOB.COM'"。
但是有时候我们需要获取 runoob_author 字段含有 "COM" 字符的所有记录,这时我们就需要在 WHERE 子句中使用 SQL LIKE 子句。
SQL LIKE 子句中使用百分号 %字符来表示任意字符,类似于UNIX或正则表达式中的星号 *。
如果没有使用百分号 %, LIKE 子句与等号 = 的效果是一样的。

SQL SELECT 语句使用 LIKE 子句从数据表中读取数据的通用语法:

  1. SELECT field1,field2,...fieldN
  2. FROM table_name
  3. WHERE field1 LIKE condition1 [AND[OR]] field2 = 'somevalue'
  1. mysql> SELECT * from runoob_tbl WHERE runoob_author LIKE '%COM';
  2. +-----------+--------------+---------------+-----------------+
  3. | runoob_id | runoob_title | runoob_author | submission_date |
  4. +-----------+--------------+---------------+-----------------+
  5. | 4 | JAVA教程 | RUNOOB.COM | 2016-05-06 |
  6. | 5 | 学习Python | RUNOOB.COM | 2016-03-06 |
  7. +-----------+--------------+---------------+-----------------+
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注