DQL语言查询数据

1.DQL语言

DQL:Data Query Language,数据查询语言

1.select 语法
SELECT [ALL | DISTINCT] 
{  * |  table.* | [ table.field1 [ as  alias1] [, table.field2 [as  alias2]][,]] }
FROM  table_name  [ as  table_ alias  ]
[ left|out|inner  join  table_name2 ]    #联合查询
[ WHERE  … ]   	#指定结果需满足的条件
[ GROUP BY …]	#指定结果按照哪几个字段来分组
[ HAVING …]	#过滤分组的记录必须满足的次要条件
[ ORDER BY… ]	#指定查询记录按一个或者多个条件排序
[ LIMIT  {   [ offset,] row_count    |   row_count OFFSET offset   }] ;  #指定查询的记录从哪条至哪条

注:
[] 括号代表可选的;
{} 括号代表必须的;
#MySQL语句中的注释符,也可以用 /该处为注释/

2.select语法详解

1.查询表table中所有的数据,效率低,不推荐

select * from table;

2.查询表table中指定的列,column1,column2…,如果几个表中有相同的列名,可以用table.column1的形式来表示

select column1 [as 指定列名],...,column2 [as 指定列名] from table [as t];

3.as语句 :可以给数据列和表取一个新的别名,也可把经计算或总结的结果用另外一个新名称来代替
4.distinct关键字:给select查询的结果去重,与之相反的是默认的all,返回所有的数据
5.使用表达式 在返回列中使用

select 表达式 ;//例:select 1+2;

6.where条件语句:用于检索数据表中符合条件的记录,搜索条件可由一个或多个逻辑表达式组成,结果一般为真或假
逻辑操作符:
在这里插入图片描述

比较操作符:
在这里插入图片描述
注:
null :NULL代表“无值”,区别于零值0和空符串“”,只能出现在定义允许为NULL的字段
between and :根据一个范围值来检索,是一个闭区间
like :与‘%’连用,表示可以匹配任意多个字符;与‘-’连用,表示匹配单个字符
in() :括号中是一个值的集合,要查询的字段只要与其中至少一个值相同及匹配条件,多个值之间用英文逗号隔开。in 比 or 效率要高得多
7.连接查询:
语法:

select column from table1 join table on column1=column2 where condition;

①内连接:joininner join
会展示两表关联上的所有数据,即两个数据交集中的数据

select column from table1 inner join table on column1=column2 where condition;		//inner可以省略

②外连接:
左关联:left join
会展示左表的所有数据,右表展示关联上的所有数据,未关联上的用null填充

select column from table1 left join table on column1=column2 where condition;

右关联:right join
会展示右表的所有数据,左表展示关联上的所有数据,未关联上的用null填充

select column from table1 right join table on column1=column2 where condition;

③全连接:mysql 15.8 之后才支持 full join
相当于左关联 union 右关联
④自连接:同一个表格中数据表与自身进行连接
8.group by列名
对所有的数据进行分组统计
分组的依据字段可以有多个,并依次分组
与HAVING结合使用,进行分组后的数据筛选
9.order by 列名:
表示该列升序排列,省略了默认值ASC;加上DESC,表示降序排列。
字符串也可以比较排序,按位比较ASCII值。
可以比较多字段排序,多个字段用逗号隔开,先排序前面的,钱买你的相同了,在比较后面的。
10.limit :
方式一:
limit num 表示从0开始显示num行数据,其中0可以省略
limit num1,num2,表示从num+1行开始,显示num+2个数据
方式二:
limit num1 offset num2 表示num2+1行开始,显示num1行数据
11.子查询:
在查询语句中的WHERE条件子句中,又嵌套了另外一个查询语句
嵌套查询可由多个子查询组成,求解的方式是由里及外
子查询返回的结果一般都是集合,故而建议使用 IN 关键字

MySQL函数

①数学函数:
abs(),sqrt(),power(),floor(),ceil(),round(),truncate()
②字符串函数
trim() 去空格,substring() 截取,insert(a,x,y,b),concat() 拼接
③日期函数
now(),year(),month(),date(),unix_timestamp(),from_unixtime(),datediff(),date_add(),date_foamat()
④系统信息函数
version()
⑥统计函数
count(* | 1 | 列名 ),sum(),max(),min(),avg()

字符串函数在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值