10.WHERE 子句
使用 WHERE 子句从数据表中读取数据的通用语法:
SELECT field1, field2,...FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
- 查询语句中你可以使用一个或者多个表,表之间使用逗号, 分割,并使用WHERE语句来设定查询条件。
- 你可以在 WHERE 子句中指定任何条件。
- 你可以使用 AND 或者 OR 指定一个或多个条件。
- WHERE 子句也可以运用于 SQL 的 DELETE 或者 UPDATE 命令。
- WHERE 子句类似于程序语言中的 if 条件,根据 MySQL 表中的字段值来读取指定的数据。
11.UPDATE 查询
update 语句可用来修改表中的数据
SQL 语法:update 表名称 set 列名称=新值 where 更新条件;
UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]
12.DELETE 语句
DELETE FROM 命令来删除 MySQL 数据表中的记录。
从 MySQL 数据表中删除数据的通用语法:DELETE FROM table_name [WHERE Clause]
delete,drop,truncate 三者比较:
- 都有删除表的作用,但是delete和truncate删除的是表数据,drop把表和表数据一起删除;
- delete 是 DML 语句,操作完以后如果没有不想提交事务还可以回滚,truncate 和 drop 是 DDL 语句,操作完马上生效,不能回滚;
- 执行的速度上,drop>truncate>delete
13.LIKE 子句
like语句一般用于where子句后面,用于表示条件范围。
通用语法:
SELECT field1, field2,...fieldN
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'value'
- LIKE 通常与 % 一同使用,类似于一个元字符的搜索。
- 你可以使用 AND 或者 OR 指定一个或多个条件。
14.UNION 操作符
MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。
多个 SELECT 语句会删除重复的数据。
语法格式:
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];
DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据
ALL: 可选,返回所有结果集,包含重复数据。
15.ORDER BY 子句
ORDER BY 子句是用来设定你想按哪个字段哪种方式来进行排序,再返回搜索结果。
语法:
SELECT field1, field2,...fieldN table_name1, table_name2...
ORDER BY field1, [field2...] [ASC [DESC]]
- ASC:表示升序排列,默认升序排列
- DESC:表示降序排列
- 依旧可以添加where子句设置条件
16.GROUP BY 语句
GROUP BY 语句根据一个或多个列对结果集进行分组。
在分组的列上我们可以使用 COUNT, SUM, AVG,等函数。
语法:
SELECT column_name, function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;
举例:现在有一个表,表数据如下图:
请查出人员姓名和姓名对应的人数:
查询语句:select name,count(*) count from stu group by name; 其中*可以用表中任一字段替换。
结果: