MySQL单表查询

单表查询
查询所有字段:select * from 表名;


mysql> select * from stus;
+------+----------+
| id   | name     | 
+------+----------+
| 1623 | yangming |
+------+----------+
4 rows in set (0.01 sec)

查询指定字段:select 字段名 from 表名;

mysql> select id from stus;
+------+
| id   |
+------+
| 1623 |
+------+
4 rows in set (0.01 sec)

查询指定数据:select * from 表名 where 字段名=’xx’;


mysql> select * from stus where id=1623;
+------+----------+
| id   | name     | 
+------+----------+
| 1623 | yangming |
+------+----------+
4 rows in set (0.01 sec)

查询不等于指定数据:select * from 表名 where 字段 <>数据;

select * from 表名 where 字段 !=数据;

mysql> select * from stus where id <>1623;
+------+----------+
| id   | name     | 
+------+----------+
| 1624 | yangming |
+------+----------+
4 rows in set (0.01 sec)

带in关键字查询:select * from 表名 where 字段 [not] in(值1,值2);


mysql> select * from stus where id in (1623,1624);
+------+----------+
| id   | name     | 
+------+----------+
| 1624 | yangming |
+------+----------+
4 rows in set (0.01 sec

带between and 范围查询:select * from 表名 where 字段 between 值1 and 值2;

或:select * from 表名 where 字段>=值1 and 字段<=值2;


mysql> select * from stus where id between 12 and 123456;
+------+----------+
| id   | name     | 
+------+----------+
| 1624 | yangming |
+------+----------+
4 rows in set (0.01 sec)

带like模糊查询(“_”一个字符;“%”一个或多个字符):select * from 表名where 字段like ‘%xx%’;

mysql> select * from stus where id like '%1624%';
+------+----------+
| id   | name     | 
+------+----------+
| 1624 | yangming |
+------+----------+
4 rows in set (0.01 sec)

用is null关键字查询空值:select 字段1,字段2 from 表名 where 字段2 is null;


mysql> select id,name from stus where id is null;
+------+----------+
| id   | name     | 
+------+----------+
4 rows in set (0.01 sec)

带and多条件查询:select * from 表名 where 字段1 and 字段2;

mysql> select * from stus where id =1624 and name="yangming";
+------+----------+
| id   | name     | 
+------+----------+
| 1624 | yangming |
+------+----------+
4 rows in set (0.01 sec)

带or的多条件查询:select * from 表名 字段1 or 字段2;

mysql> select * from stus where id =1624 or name="yangming";
+------+----------+
| id   | name     | 
+------+----------+
| 1624 | yangming |
+------+----------+
4 rows in set (0.01 sec)

用distinct关键字去除结果中重复行:select distinct 字段 from 表名;


mysql> select distinct id from stus;
+------+----------+
| id   | name     | 
+------+----------+
| 1624 | yangming |
+------+----------+
4 rows in set (0.01 sec)

用order by 关键字对查询结果排序:select * from 表名 order by 字段 asc(升序/desc降序);


mysql> select * from stus order by id ;
+------+----------+
| id   | name     | 
+------+----------+
| 1624 | yangming |
+------+----------+
4 rows in set (0.01 sec)

用group by 关键字分组查询:select 字段1,字段2,字段3 from 表名 group by 字段3;

mysql> select * from stus group by id ;
+------+----------+
| id   | name     | 
+------+----------+
| 1624 | yangming |
+------+----------+
4 rows in set (0.01 sec)

多个字段分组:select 字段1,字段2,字段3 from 表名group by 字段1,字段2;

mysql> select * from stus group by id,name ;
+------+----------+
| id   | name     | 
+------+----------+
| 1624 | yangming |
+------+----------+
4 rows in set (0.01 sec)

having子句:select 字段,count(字段1),avg(字段2),min(字段3),max(字段3) from 表名group by 字段 having min(字段3)<值;–注意,having必须是返回聚合函数


mysql> select min(id),name from stus group by id having min(id)<15423 ;
+------+----------+
| id   | name     | 
+------+----------+
| 1624 | yangming |
+------+----------+
4 rows in set (0.01 sec)

用limit限制查询结果数量:select * from 表名 order by 字段 desc limit n;

mysql> select * from stus order by  id limit 1 ;
+------+----------+
| id   | name     | 
+------+----------+
| 1624 | yangming |
+------+----------+
4 rows in set (0.01 sec)

Count()函数:select count(*) from 表名;


mysql> select count(*) from stus;
+----------+
| count(*) |
+----------+
|        4 |
+----------+
1 row in set (0.00 sec)

Sum()函数:select sum(字段) from 表名;

mysql> select sum(id) from stus;
+---------+
| sum(id) |
+---------+
|    6498 |
+---------+
1 row in set (0.00 sec)

Avg()函数:select avg(字段) from 表名;

mysql> select avg(id) from stus;
+-----------+
| avg(id)   |
+-----------+
| 1624.5000 |
+-----------+
1 row in set (0.00 sec)

Max()函数:select max(字段) from 表名;

mysql> select max(id) from stus;
+---------+
| max(id) |
+---------+
|    1628 |
+---------+
1 row in set (0.00 sec)

Min()函数:select min(字段) from 表名;

mysql> select min(id) from stus;
+---------+
| min(id) |
+---------+
|    1620 |
+---------+
1 row in set (0.00 sec)

读完本文有收获吗?请转发分享更多人

软件测试分享圈
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dreamer_code

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值