MYSQL语句SQL查询操作
1 基本SQL查询语句
语法:
select 属性列表
from 表名(视图)列表
[where 条件表达式1]
[group by 属性名1 [having 条件表达式2]]
[order by 属性名2 [asc | desc]]
asc:升序
desc:降序
例子:
条件+排序
例子:
检测语言世界语中文简体中文繁体丹麦语乌克兰语乌兹别克语乌尔都语亚美尼亚语伊博语俄语保加利亚语信德语修纳语僧伽罗语克罗地亚语冰岛语加利西亚语加泰罗尼亚语匈牙利语南非祖鲁语卡纳达语卢森堡语印地语印尼巽他语印尼爪哇语印尼语古吉拉特语吉尔吉斯语哈萨克语土耳其语塔吉克语塞尔维亚语塞索托语夏威夷语威尔士语孟加拉语宿务语尼泊尔语巴斯克语布尔语(南非荷兰语)希伯来语希腊语库尔德语弗里西语德语意大利语意第绪语拉丁语拉脱维亚语挪威语捷克语斯洛伐克语斯洛文尼亚语斯瓦希里语旁遮普语日语普什图语格鲁吉亚语毛利语法语波兰语波斯尼亚语波斯语泰卢固语泰米尔语泰语海地克里奥尔语爱尔兰语爱沙尼亚语瑞典语白俄罗斯语科萨科西嘉语立陶宛语索马里语约鲁巴语缅甸语罗马尼亚语老挝语芬兰语苏格兰盖尔语苗语英语荷兰语菲律宾语萨摩亚语葡萄牙语蒙古语西班牙语豪萨语越南语阿塞拜疆语阿姆哈拉语阿尔巴尼亚语阿拉伯语韩语马其顿语马尔加什语马拉地语马拉雅拉姆语马来语马耳他语高棉语齐切瓦语 |
|
世界语中文简体中文繁体丹麦语乌克兰语乌兹别克语乌尔都语亚美尼亚语伊博语俄语保加利亚语信德语修纳语僧伽罗语克罗地亚语冰岛语加利西亚语加泰罗尼亚语匈牙利语南非祖鲁语卡纳达语卢森堡语印地语印尼巽他语印尼爪哇语印尼语古吉拉特语吉尔吉斯语哈萨克语土耳其语塔吉克语塞尔维亚语塞索托语夏威夷语威尔士语孟加拉语宿务语尼泊尔语巴斯克语布尔语(南非荷兰语)希伯来语希腊语库尔德语弗里西语德语意大利语意第绪语拉丁语拉脱维亚语挪威语捷克语斯洛伐克语斯洛文尼亚语斯瓦希里语旁遮普语日语普什图语格鲁吉亚语毛利语法语波兰语波斯尼亚语波斯语泰卢固语泰米尔语泰语海地克里奥尔语爱尔兰语爱沙尼亚语瑞典语白俄罗斯语科萨科西嘉语立陶宛语索马里语约鲁巴语缅甸语罗马尼亚语老挝语芬兰语苏格兰盖尔语苗语英语荷兰语菲律宾语萨摩亚语葡萄牙语蒙古语西班牙语豪萨语越南语阿塞拜疆语阿姆哈拉语阿尔巴尼亚语阿拉伯语韩语马其顿语马尔加什语马拉地语马拉雅拉姆语马来语马耳他语高棉语齐切瓦语 |
|
|
|
|
|
2 字段查询
2.1、查询所有字段
例子:
(建议:为了提高查询效率,尽可能的使用字段来查询,而不用*号)
2.2、查询指定字段
可根据需要指定字段,同时字段的顺序也可以改变
例子:
3 查询指定记录
例子:
如果查询不到记录则显示:
查询条件 |
符号或关键字 |
比较 |
=、<、<=、>、>=、!=、<>、!>、!< |
指定范围 |
between and、not between an |
指定集合 |
in、not in |
匹配字符 |
like、not like |
是否为空 |
is null、is not null |
多个查询条件 |
and、or |
4 带IN关键字的查询
语法:[not] in(元素1,元素2,...,元素n)
例子:
(字符类型一定要加上引号)
5 带BETWEEN AND的范围查询
例子:
6 带LIKE的字符匹配查询
通配符:
%:代表任意长度的字符串,长度可以为0。
例如:a%c-->表示以字母a开头,以字母c结尾的任意长度的字符串,可以代表ac、abc、abdefgc
_:只能表示单个字符。a_c-->表示以字母a开头,以字母c结尾的3个字符,中间的“_”可以表示任意一个字符,比如:abc、adc、azc
例子:
7 查询空值
例子:
空值:一种是从未填写过数据,二是填写过数据后删除掉的
8 带AND的多条件查询-
例子:可以N个。
必须同时满足条件,只要有一个不满足,则如此记录将会被排除。
9 带OR的多条件查询-
例子:可以N个。
无需同时满足条件,只要其中一个条件满足,则记录会被查到,只有条件都不满足时如此记录才会被排除掉。
例子:
10 查询结果去重
例子:
11 查询结果排序
例子:
相当于asc
(升序时asc可省略,默认是升序)
降序(desc)
(可以多个字段进行排序,同时各个字段可自由升降序。排序规则:先按第一个字段进行排序,若遇到相同的数据,则根据第二字段进行排序,以此类推)
12 分组查询
- 单独使用group by
会显示每个组的一条记录
例子:
2.与group_concat()结合使用
例子:
3.与聚合函数结合使用
例子:
4.与having结合使用
where:对表和视图限制查询条件,having:对分组后结果信息进行筛选
例子:
5.多个字段分组
例子:
6.与with rollup结合使用
会加上一条记录,而该记录是查询分组后记录的总和
例子:
13 LIMIT限制查询结果数量
- 不指定初始化位置
例子:
(limit 后面的数字代表限制的条数,若条数小于总记录数,则显示限制的数量,若大于总记录数,则显示全部数据)
2.指定初始化位置
例子:
(这种和不指定效果一样,因为不指定时默认从第1条数据开始,也就是0,第2条,就是1,以此类推。limit可用作分页)
14 聚合函数查询
- COUNT(记录数)
例子:
2。SUM(求和)
例子:
(sum只针对于数值类型进行累加,若累加的是字符(串)类型则结果总是显示0)
3.AVG(求平均)
例子:
4.MAX(最大值)
例子:
5.MIN(最小值)
例子:
15 连接查询
- 内连接(where / inner jon ... on ...)
例子:
(内连接是完全匹配,即A表与B表一一对应,一方没有,则该记录不会被查出)
2.外链接
- 左外连接
例子:
(以左表为主表,显示主表的所有信息,而与右表无匹配信息时则显示NULL)
- 右外连接
例子:
(以右表为主表,显示右表中的所有信息)
3。复合查询
例子:
16 子查询
子查询:将一个查询语句嵌套在另一个查询语句中。内层查询语句的查询结果可为外层查询提供条件。
- 带IN关键字
例子:
2.带比较运算符
例子:查询年龄是15岁在哪个部门
(在使用比较运算符时,子查询的结果只能为1不能为N)
3.带EXISTS关键字
例子:
4.带ANY关键字(满足子查询中的其一即可)
例子:
5.带ALL关键字(满足子查询中的所有)
例子:
17 合并查询结果
- union(合并查询结果去除重复)
例子:
2、union all(单纯的合并结果不处理重复数据)
例子:
19 使用正则表达式查询
正则表达式的模式字符 |
含义 |
^ |
匹配字符串开始的部分 |
$ |
匹配字符串结束的部分 |
. |
代表字符串中的任意一个字符,包含回车和换行 |
[字符集] |
匹配”字符集”中的任意一个字符 |
[^字符集] |
匹配除了”字符集”以外的任意一个字符 |
S1|S2|S3 |
匹配S1、S2和S3中的任意一个字符串 |
* |
代表多个该符号之前的字符,包含0和1个 |
+ |
代表多个该符号之前的字符,包含1个 |
字符串{N} |
字符串出现N次 |
字符串{M,N} |
字符串出现至少M次,最多N次 |
语法:属性名 regexp (regular expression) 匹配模式
- 查询以特定字符或字符串开头的记录
例子:
2.查询以特定字符或字符串结尾的记录
例子:
3.以符号”.”来代替字符串中的任意一个字符
例子:
4.匹配指定字符串中的任意一个
例子:
(表示:0~9数字)
(表示:0~9数字,a~c字母)
5.匹配指定字符以外的字符
例子:
6.匹配指定字符串
例子:
(|之间不要有空格)
7.使用”*”和”+”来匹配多个字符
例子:
8.使用{N}和{M,N}来指定字符串连续出现的次数
例子: