MySQL常用函数/关键字

MySQL常用查询函数与关键字详解
本文详细介绍了MySQL中的一些常见查询函数和关键字,包括distinct、group by、order by、sum/min/max、join on、limit、count、AS、having、in/not in的用法和示例,帮助理解如何在SQL查询中进行数据去重、分组、排序、聚合及过滤操作。

1.distinct

distinct用于返回某个字段去重后的记录

+------+--------+-------+
| id   | name   | point |
+------+--------+-------+
|    1 | 小明   |   100 |
|    1 | 小红   |    90 |
|    2 | 小刚   |    80 |
|    3 | 小军   |    80 |
+------+--------+-------+

使用distincy对id去重

mysql> select distinct id from test;
+------+
| id   |
+------+
|    1 |
|    2 |
|    3 |
+------+

如果同时对id和point去重,distinct默认同时满足id和point重复才去重,所以如果对上表执行,则结果没有实际去重效果

(如果想要获取去重后的完整记录信息可以使用group by函数)

mysql> select distinct id,point from test;
+------+-------+
| id   | point |
+------+-------+
|    1 |   100 |
|    1 |    90 |
|    2 |    80 |
|    3 |    80 |
+------+-------+

distinct更多用于统计某个字段不重复记录的数量 -- count(distinct name)

mysql> select count(distinct name) from test;
+----------------------+
| count(distinct name) |
+----------------------+
|                    4 |
+----------------------+

使用count函数统计某个字段不重复的记录数,关于count用法后面有介绍

2.group by

group by用于对数据进行分类归总,将查询结果按照1个或多个字段进行分组

mysql> select * from test group by id;
+------+--------+-------+
| id   | name   | point |
+------+--------+-------+
|    1 | 小明   |   100 |
|    2 | 小刚   |    80 |
|    3 | 小军   |    80 |
+------+--------+-------+

利用group by可以便捷的将数据记录去重,在by之后添加限定条件,指定需要分组的字段(可以指定多个字段)

3.order by

order by用于对数据进行排序,搭配关键字 asc/desc 指定 升降序 ,如不指定则默认从小到大升序(asc

mysql> select * from test order by id desc;
+------+--------+-------+
| id   | name   | point |
+------+--------+-------+
|    3 | 小军   |    80 |
|    2 | 小刚   |    80 |
|    2 | b      |   100 |
|    2 | c      |   100 |
|    1 | 小明   |   100 |
|    1 | 小红   |    90 |
|   
### MySQL 常用 SQL 查询关键字列表 在构建有效的 SQL 查询时,掌握常用关键字至关重要。以下是 MySQL 中常见的查询关键字及其功能: #### 1. SELECT `SELECT` 是用来提取数据记录的主要命令。此命令允许指定要检索的数据列以及来自哪些表。 ```sql SELECT column_name(s) FROM table_name; ``` #### 2. WHERE `WHERE` 子句用于过滤由 `SELECT` 语句返回的结果集,仅显示满足条件的行[^1]。 ```sql SELECT * FROM customers WHERE country='Mexico'; ``` #### 3. INSERT INTO `INSERT INTO` 语句向数据库表中插入新的行。这通常涉及提供新记录的具体字段值。 ```sql INSERT INTO customers (customername, contactname, address, city, postalcode, country) VALUES ('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway'); ``` #### 4. UPDATE `UPDATE` 修改现有表格内的数据条目。为了防止意外更新所有行,一般会配合 `WHERE` 来限定受影响的范围。 ```sql UPDATE customers SET contactname='Alfred Schmidt' WHERE customerid=1; ``` #### 5. DELETE `DELETE` 删除一条或多条记录。同样建议总是加上 `WHERE` 条件来精确控制删除的对象。 ```sql DELETE FROM customers WHERE customername='Alfreds Futterkiste'; ``` #### 6. JOIN 当需要组合多个表的信息时,可以使用各种类型的连接 (`JOIN`) 操作符,比如内联接(`INNER JOIN`) 或左外联接(`LEFT OUTER JOIN`) 等形式。 ```sql SELECT orders.orderid, customers.customername, orders.orderdate FROM orders INNER JOIN customers ON orders.customerid = customers.customerid; ``` #### 7. GROUP BY 和 HAVING 这两个关键词经常一起工作,先按某些属性分组再筛选符合条件的组。不同于 `WHERE` ,`HAVING` 可应用于聚合函数后的结果上。 ```sql SELECT COUNT(customerid), country FROM customers GROUP BY country HAVING COUNT(customerid)>5; ``` #### 8. ORDER BY 最后可以通过 `ORDER BY` 对最终输出按照特定列升序/降序排列。 ```sql SELECT * FROM customers ORDER BY country ASC, customername DESC; ``` 以上列举了一些最为基础但也极为重要的 SQL 查询关键字,在实际应用过程中还有更多高级特性等待探索。熟悉并灵活运用这些基本概念对于编写高效可靠的数据库交互程序非常有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值