Mysql笔记(三):数据库查询

1、简单查询

-查询所有字段
select * from 表名;
-查询指定的字段
select 列名,列名... from 表名;
表别名:别名中如果有特殊符号或空格,需要用引号引起来,as也可以省略
select * from 表名 [as] 表别名;
-列别名:as可省略.
select 字段1[as] 别名,字段2[as] 别名 from 表名;
-去掉重复值:如果有多个字段,要同时重复.
select distinct 字段 from 表名;
-运算查询:
select (math+english) 总成绩 from 表名;

2、条件查询:

比较运算符:>,<,=,<=,>=,<>(!=)
逻辑运算符:
	between ... and ...:显示在某一区间的值(含头含尾)
	in(多个条件):或者(or)关系
	like:模糊查询
		%代表零个或多个任意字符.
		_:代表一个字符
	is null:判断是否为空。
	 select * from stu where name like 'J%';
	  select * from stu where name like 'J_ck';
	  mysql> select * from stu where name is null;
Empty set (0.00 sec)

mysql> select * from stu where name is not null;
+------+---------+--------+------+
| code | name    | sex    | age  |
+------+---------+--------+------+
|  101 | Alex    | female |   19 |
|  102 | Alsa    | female |   18 |
|  103 | Bomb    | male   |   21 |
|  104 | Jerry   | male   |   22 |
|  105 | Jack    | male   |   19 |
|  106 | Jackson | male   |   24 |
|  107 | Jerry   | female |   22 |
|  108 |         | male   |   23 |
+------+---------+--------+------+
8 rows in set (0.00 sec)

3、select [select 选项] 字段列表 [字段别名] / * from 数据源 [where字句] [group by 字句] [having字句] [order by字句] [limit字句]

1select 选项包含:all(所有,默认),distinct(去重)
	select distinct(sex) from my_table;
	select distinct sex,name from my_table;
2[group by字句] 分组,结合使用count(),max(),min(),avg(),sum()函数:
select c_id,count(*),max(height),min(height),avg(height),sum(age),group_concat(name) (分组内容包含)
 from my_table group by c_id;
 3[having字句]
 having的作用雷同where,而且having几乎能做所有where能做的事,而
 where却不能做having能做的很做作事,where主要是在group by之前做条
 件限制,group by之后则不能使用,要使用having做条件限制。
 4、排序查询:写在SQL语句末尾:
 select * from 表名 order by 排序字段 ASC(升序-默认)/desc(降序)
 4、group_concat(分组中包含的内容)
 mysql> select sex,group_concat(name) from stu group by sex;
+--------+-----------------------------+
| sex    | group_concat(name)          |
+--------+-----------------------------+
| female | Alex,Alsa,Jerry             |
| male   | Bomb,Jerry,Jack,Jackson,Tom |
+--------+-----------------------------+
2 rows in set (0.00 sec)

4、聚合函数
select之后,from之前

sum():指定列不是数值类型,计算结果为零
count(统计数):不包含null,一般用*max(最大值):如果是字符串类型,则使用字符串排序;
min(最小值)avg(平均值):指定列不是数值类型,计算结果为0

5、limit分页查询:

select 字段1,字段2...from 表名 limit 初始位置,
 select * from stu limit 2,6;
+------+---------+--------+------+
| code | name    | sex    | age  |
+------+---------+--------+------+
|  103 | Bomb    | male   |   21 |
|  104 | Jerry   | male   |   22 |
|  105 | Jack    | male   |   19 |
|  106 | Jackson | male   |   24 |
|  107 | Jerry   | female |   22 |
|  108 | Tom     | male   |   23 |
+------+---------+--------+------+
6 rows in set (0.00 sec)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值