二、SQL查询语法

SQL查询语句

DQL查询语句

一、基础查询
* 查询全表
	select * from 表名;
1、语法:
	select 
		字段列表
	from
		表名列表
	where
		条件列表
	group by
		分组字段
	having
		分组之后的条件
	limit
		分页限定;

2、基础查询
	1、多个字段的查询
		* select 字段1,字段2... from 表名;
		* 注意:
			* 如果查询所有的字段,则可以使用*来代替所有字段
	2、去除重复
		* select  distinct字段1,字段2... from 表名;
	3、计算列
		* 一般可以使用四则运算计算一个列的值,(一般只会进行数值的计算)
		* IFNULL(表达式1,表达式2): null参与的运算,计算结果都为null
			*  表达式1:哪个字段需要判断是否为null
			* 表达式2:如果该字段为null之后的替换值
	4、起别名
		* as : as也可以省略,用空格替代

3、条件查询
	1、where子句后跟条件
	2、运算符
		* >、 <、<=、 >= 、= 、 <> 、!=
		* BETWEEN ... AND
		* IN(集合)
		* LIKE
			* 占位符
				* “_”:单字节占位符
				* “%”:任意字节占位符 
		* IS NULL
		* AND 或 &&
		* OR 或 ||
		* NOT 或 !
二、增强查询
	1、排序查询
		* 语法: order by 子句
			* 	order by 排序字段1 排序方式, 排序字段2 排序方式;
		* 排序方式
			ASC :升序 (默认)
			DESC: 降序
		* 注意:
			如果有多个排序条件,则当前面的条件值一样时,才会判断第二条件
	2、聚合函数:将一列数据作为一个整体,进行纵向的计算。
		 * count : 统计个数
		 * max: 统计最大值
		 * min: 统计最小值
		 * avg: 统计平均值
		 * sum: 统计总和
		 * 注意:聚合函数,排除null值
		 	 解决方案 
		 	 	* 选择不包含非空的列进行计算
		 	 	* IFNULL函数
	3、分组查询
		* 语法:group by 分组字段;
		* 注意:
			* 分组之后查询的字段:分组字段、聚合函数
			* where 和 having的区别?
				1、 where 在分组之前进行限定,如果不满足条件,则不进行分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来。
				2、 where 后不可以跟聚合函数,having后面可以进行聚合函数的判断。
	4、分页查询	
		1、 语法 : limit 开始的索引,每页查询的条数;
		2、公式: 开始的索引 = (当前页码 -1 ) * 每页的条数;
			-- 每页显示三条数据
			SELECT * FROM student3 LIMIT 0,3; -- 查询第一页
			SELECT * FROM student3 LIMIT 3,3; -- 查询第二页
			SELECT * FROM student3 LIMIT 6,3; -- 查询第三页
		3、分页操作 limit  是一个MYSQL“方言” 

约束

  * 概念: 对表中的数据进行限定,保证数据的正确性、有效性和完整性
  * 分类:
 		一、主键约束:primary key
 			* 注意:
 				* 1、含义:非空且唯一
 				* 2、一张表只能有一个字段为主键
 				* 3、主键是表中记录的唯一标示
 			* 在创建表时添加主键约束
 				create table 表名(
			        	列名1 数据类型1 primary key,  -- 添加主键约束
			        	列名2 数据类型2,
			        	列名3 数据类型3,
			        	列名4 数据类型4
			        	);
			 * 删除主键: 
			 	alter table 表名 drop PRIMARY KEY;
			 * 创建完表后,添加主键
			 	alter table 表名 modify 字段名 字段类型 PRIMARY KEY;
			 *  自动增长: 
			 	* 1、概念:如果某一列是数值类型的,使用auto_increment 可以来完成值的自动增长
			 	* 2、在创建表是,添加主键索引,并且完成主键自
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值