文章目录
- 一,基础知识
-
-
- 1.1, 数据库的特点: /li>
- 1.2, 数据库的好处 /li>
- 1.3, MySQL服务的启动和停止 /li>
- 1.4, MySQL服务的登录和退出 /li>
- 1.5, Mysql的最基本操作 /li>
- 1.6, Mysql语法规范 /li>
- 1.7, SQL的语言分类 /li>
-
- 二, Mysql命令之DQL语言:
-
-
- 2.1 基础查询 /li>
-
- 2.1.1 基本格式: /li>
- 2.1.2 具体命令:
- 2.2 条件查询(WHERE) /li>
-
- 2.2.1 基本格式 /li>
- 2.2.2 适用于WHERE的操作符 /li>
- 2.2.3 条件查询的使用 /li>
- 2.2.4 操作符的计算次序 /li>
- 2.3 排序查询(ORDER BY) /li>
-
- 2.3.1 基本格式
- 2.3.2 排序查询的使用 /li>
- 2.4 通配符和正则表达式查询(REGEXP)
-
- 2.4.1 LIKE和通配符
- 2.4.2 正则表达式(REGEXP) (▲)
-
- 2.4.2.1 基本字符匹配
- 2.4.2.2 进行 OR 匹配
- 2.4.2.3 匹配几个字符之一(
- 2.4.2.4 匹配范围
- 2.4.2.5 匹配特殊字符
- 2.4.2.6 匹配字符类 (待补充)
- 2.4.2.7 匹配多次(
- 2.5 常见函数 (★)
-
- 2.5.1 字符函数
-
- 2.5.1.1 字符函数之 拼接字段(concat())
- 2.5.2 数学函数
- 2.5.3 日期函数(
- 2.5.4 流程控制函数(★)
- 2.6 汇总数据
- 2.7 分组数据
-
一,基础知识
1.1, 数据库的特点: /h3>
- 将数据放到表中,表再放到库中;
- 一个数据库可以有多张表,每个表都有一个名字用于标识自己. ;
- 表具有一些特性,这些特性定义了数据在表中如何存储;
- 表由列组成,我们也称为 所有表都是由一个或多个列组成的.
- 表中的数据是按行存储的.
数据库管理软件(DBMS)的种类:
- 基于共享文件系统的DBMS(Access)
- 基于C-S(客户端-服务器)的DBMS(Mysql, SqlServer,Oracle)
1.2, 数据库的好处 /h3>
- 到本地
- 可以实现,方便管理
1.3, MySQL服务的启动和停止 /h3>
方式一:计算机——右击管理——服务
方式二:通过管理员身份运行
net start mysql(启动服务)
net stop mysql(停止服务)
1.4, MySQL服务的登录和退出 /h3>
方式一:通过mysql自带的客户端,只限于root用户
方式二:通过windows自带的客户端(管理员模式)
- 登录:
- 退出:
示例:
(本机可省略可选操作)
1.5, Mysql的最基本操作 /h3>
数据库管理软件(DBMS)的种类:
- 到本地
- 可以实现,方便管理
1.3, MySQL服务的启动和停止 /h3>
方式一:计算机——右击管理——服务
方式二:通过管理员身份运行
net start mysql(启动服务)
net stop mysql(停止服务)
1.4, MySQL服务的登录和退出 /h3>
方式一:通过mysql自带的客户端,只限于root用户
方式二:通过windows自带的客户端(管理员模式)
- 登录:
- 退出:
示例:
(本机可省略可选操作)
1.5, Mysql的最基本操作 /h3>
方式一:计算机——右击管理——服务
方式二:通过管理员身份运行
net start mysql(启动服务)
net stop mysql(停止服务)
方式一:通过mysql自带的客户端,只限于root用户
方式二:通过windows自带的客户端(管理员模式)
- 登录:
- 退出:
示例:
(本机可省略可选操作)
1.5, Mysql的最基本操作 /h3>
1.6, Mysql语法规范 /h3>
不区分大小写,但是;
每条命令最好用;
每条命令根;
注释:
单行注释: #注释文字
单行注释: – 注释文件
多行注释: /* 注释文字*/
1.7, SQL的语言分类 /h3>
二, Mysql命令之DQL语言:
DQL: Data Query Language(数据查询语言)
2.1 基础查询 /h3>
2.1.1 基本格式: /h4>
select查询结果是一个虚拟表;
2.1.2 具体命令:
LIMIT 输出查询从索引0开始, a=5在表中实际为第六行.
注意: 如果没有明确排序查询结果,则返回数据的顺序没有任何意义,其查询结果有可能是添加到表中的顺序,也有可能不是,只要返回相同数目的行,就是正常的奥;
2.2 条件查询(WHERE) /h3>
2.2.1 基本格式 /h4>
2.2.2 适用于WHERE的操作符 /h4>
不区分大小写,但是;
每条命令最好用;
每条命令根;
注释:
单行注释: #注释文字
单行注释: – 注释文件
多行注释: /* 注释文字*/
二, Mysql命令之DQL语言:
DQL: Data Query Language(数据查询语言)
2.1 基础查询 /h3>
2.1.1 基本格式: /h4>
select查询结果是一个虚拟表;
2.1.2 具体命令:
LIMIT 输出查询从索引0开始, a=5在表中实际为第六行.
注意: 如果没有明确排序查询结果,则返回数据的顺序没有任何意义,其查询结果有可能是添加到表中的顺序,也有可能不是,只要返回相同数目的行,就是正常的奥;
2.2 条件查询(WHERE) /h3>
2.2.1 基本格式 /h4>
2.2.2 适用于WHERE的操作符 /h4>
select查询结果是一个虚拟表;
2.1.2 具体命令:
LIMIT 输出查询从索引0开始, a=5在表中实际为第六行.
注意: 如果没有明确排序查询结果,则返回数据的顺序没有任何意义,其查询结果有可能是添加到表中的顺序,也有可能不是,只要返回相同数目的行,就是正常的奥;
2.2 条件查询(WHERE) /h3>
2.2.1 基本格式 /h4>
2.2.2 适用于WHERE的操作符 /h4>
2.2.2 适用于WHERE的操作符 /h4>
操作符 | 含义 |
---|---|
> | 大于 |
< | 小于 |
<= | 小于等于 |
>= | 大于等于 |
<> 或 != | 不等于 |
<=> | 安全等于 |
AND | 组合条件 |
BETWEEN…AND… | 检查范围值 |
NOT | 取反 |
IS NULL | 判空 |
OR | 任一条件 |
IN | 指定条件范围,跟IN()中字符相吻合的可以匹配 |
LIKE | 模糊匹配 |
- :
Mysql 只能使用NOT对BETWEEN,IN和 EXSITS取反,这与其他DBMS允许NOT对各种条件取反有很大差别.
- :
- 普通运算时,等同于’=’;
- 判断空值(NULL)时,等同于 IS NULL;
-
is null 和 <=>的区别:
2.2.3 条件查询的使用 /h4>
- 示例如下:
-
> 运算符
BETWEEN … AND …等价于 >= && <=
2.2.4 操作符的计算次序 /h4>
SQL(像其他语言一样),在处理OR操作符前,优先处理AND操作符,当然为了消除歧义,我们引入了(),此时的计算优先级为.
我们不要过分依赖于默认优先级,而选择常用括 去消除歧义.
2.3 排序查询(ORDER BY) /h3>
2.3.1 基本格式
2.3.2 排序查询的使用 /h4>
-
降序输出工资
- DESC 只应用到直接位于他前面的列名.
- 多个列名排序优先对第一个进行排序(或字母大小,或数字大小排序),仅仅在第一个列名时,才会对后面的列名进行排序;
注意:
排序列表 支持 单个字段、多个字段、函数、表达式、别名
order by的位置一般放在查询语句的最后(除limit语句之外)
2.4 通配符和正则表达式查询(REGEXP)
2.4.1 LIKE和通配符
- 通配符(Wildcard)是用来匹配值的一部分的特殊字符;
- 搜索模式(SearchPattern): 即搜索条件, 由字面值,通配符或两者一起组成;
为在搜索字句中使用通配符,必须使用LIKE操作符.
LIKE告诉SQL,其后跟的搜索模式是利用通配符匹配而不是直接相等匹配进行比较;
通配符
用途
百分 通配符
%表示任何字符出现任意次数
下划线通配符
_只匹配一个字符!
我们也可以)
LIKE 和 REGEXP 的不同:
-
,如果一个字符串只是这个字段的一部分,那么LIKE不会返回结果;
-
.
-
举个栗子:
2.4.2.2 进行 OR 匹配
使用 | 从功能上类似于在SELECT语句中WHERE条件后使用OR语句;
模式
描述
abc|xyz|bmp
的字符串,例如,‘z|food’ 能匹配 “z” 或 “food”。’(z|f)ood’ 则匹配 “zood” 或 “food”。
举个栗子:
2.4.2.3 匹配几个字符之一(
模式
描述
[abc]
匹配
[^abc]
匹配
举个栗子:
Q:[^abc]的使用/p>
2.4.2.4 匹配范围
集合可以用来定义要匹配的一个或多个字符.
如: [0-9]匹配数字, [a-z]匹配字母;
2.4.2.5 匹配特殊字符
多数正则表达式实现使用单个反斜杠转义特殊字符以便能使用这些字符本身.但(MySQL自己解释一个,正则表达式库解释另一个);
注意此处的双反斜杠\ 仅适用于正则表达式匹配中, 其他地方还是 单个反斜杠
举个栗子:
‘\’表示使用反斜杠;
‘.’表示使用.;
‘-‘表示使用-;
2.4.2.6 匹配字符类 (待补充)
2.4.2.7 匹配多次(
模式
描述
*
的子表达式,例如,zo* 能匹配 “z” 以及 “zoo”。* 等价于{0,}。
+
的子表达式,例如,‘zo+’ 能匹配 “zo” 以及 “zoo”,但不能匹配 “z”。+ 等价于 {1,}。
/td>
的一个字符
{n}
n是一个非负整数,例如,‘o{2}’ 不能匹配 “Bob” 中的 ‘o’,但是能匹配 “food” 中的两个 o。
{n,m}
m,n均为非负整数,其中n<=m.
举个栗子:
匹配0或1次
*匹配0或多次
+ 匹配1或多次
2.5 常见函数 (★)
2.5.1 字符函数
函数
说明
Left()
返回串左边的字符
Right()
返回串右边的字符
Length()
返回串的字节个数
Locate(子串,串或列名)
找出串的一个子串
Lower()
将串转换为小写
Upper()
将串转换为大写
LTrim()
去掉串左边的空格
RTrim()
去掉串右边的空格
SubString()
返回子串的字符
Concat()
拼接字符串
subString(字符串, pos, length) 中 length是指打印出的长度;
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!
> 运算符
BETWEEN … AND …等价于 >= && <=
2.2.4 操作符的计算次序 /h4>
SQL(像其他语言一样),在处理OR操作符前,优先处理AND操作符,当然为了消除歧义,我们引入了(),此时的计算优先级为.
我们不要过分依赖于默认优先级,而选择常用括 去消除歧义.
2.3 排序查询(ORDER BY) /h3>
2.3.1 基本格式
2.3.2 排序查询的使用 /h4>
-
降序输出工资
- DESC 只应用到直接位于他前面的列名.
- 多个列名排序优先对第一个进行排序(或字母大小,或数字大小排序),仅仅在第一个列名时,才会对后面的列名进行排序;
注意:
排序列表 支持 单个字段、多个字段、函数、表达式、别名
order by的位置一般放在查询语句的最后(除limit语句之外)
2.4 通配符和正则表达式查询(REGEXP)
2.4.1 LIKE和通配符
- 通配符(Wildcard)是用来匹配值的一部分的特殊字符;
- 搜索模式(SearchPattern): 即搜索条件, 由字面值,通配符或两者一起组成;
为在搜索字句中使用通配符,必须使用LIKE操作符.
LIKE告诉SQL,其后跟的搜索模式是利用通配符匹配而不是直接相等匹配进行比较;
SQL(像其他语言一样),在处理OR操作符前,优先处理AND操作符,当然为了消除歧义,我们引入了(),此时的计算优先级为.
我们不要过分依赖于默认优先级,而选择常用括 去消除歧义.
2.3.1 基本格式
2.3.2 排序查询的使用 /h4>
-
降序输出工资
- DESC 只应用到直接位于他前面的列名.
- 多个列名排序优先对第一个进行排序(或字母大小,或数字大小排序),仅仅在第一个列名时,才会对后面的列名进行排序;
注意:
排序列表 支持 单个字段、多个字段、函数、表达式、别名
order by的位置一般放在查询语句的最后(除limit语句之外)
2.4 通配符和正则表达式查询(REGEXP)
2.4.1 LIKE和通配符
- 通配符(Wildcard)是用来匹配值的一部分的特殊字符;
- 搜索模式(SearchPattern): 即搜索条件, 由字面值,通配符或两者一起组成;
为在搜索字句中使用通配符,必须使用LIKE操作符.
LIKE告诉SQL,其后跟的搜索模式是利用通配符匹配而不是直接相等匹配进行比较;
降序输出工资
- DESC 只应用到直接位于他前面的列名.
- 多个列名排序优先对第一个进行排序(或字母大小,或数字大小排序),仅仅在第一个列名时,才会对后面的列名进行排序;
注意:
排序列表 支持 单个字段、多个字段、函数、表达式、别名
order by的位置一般放在查询语句的最后(除limit语句之外)
为在搜索字句中使用通配符,必须使用LIKE操作符.
LIKE告诉SQL,其后跟的搜索模式是利用通配符匹配而不是直接相等匹配进行比较;
通配符 | 用途 |
---|---|
百分 通配符 | %表示任何字符出现任意次数 |
下划线通配符 | _只匹配一个字符! |
我们也可以)
LIKE 和 REGEXP 的不同:
,如果一个字符串只是这个字段的一部分,那么LIKE不会返回结果;
.
举个栗子:
2.4.2.2 进行 OR 匹配
使用 | 从功能上类似于在SELECT语句中WHERE条件后使用OR语句;
模式 描述 abc|xyz|bmp 的字符串,例如,‘z|food’ 能匹配 “z” 或 “food”。’(z|f)ood’ 则匹配 “zood” 或 “food”。 举个栗子:
2.4.2.3 匹配几个字符之一(
模式 描述 [abc] 匹配 [^abc] 匹配 举个栗子:
![]()
Q:[^abc]的使用/p>
2.4.2.4 匹配范围
集合可以用来定义要匹配的一个或多个字符.
如: [0-9]匹配数字, [a-z]匹配字母;
2.4.2.5 匹配特殊字符
多数正则表达式实现使用单个反斜杠转义特殊字符以便能使用这些字符本身.但(MySQL自己解释一个,正则表达式库解释另一个);
注意此处的双反斜杠\ 仅适用于正则表达式匹配中, 其他地方还是 单个反斜杠举个栗子:
‘\’表示使用反斜杠;
‘.’表示使用.;
‘-‘表示使用-;2.4.2.6 匹配字符类 (待补充)
2.4.2.7 匹配多次(
模式 描述 * 的子表达式,例如,zo* 能匹配 “z” 以及 “zoo”。* 等价于{0,}。 + 的子表达式,例如,‘zo+’ 能匹配 “zo” 以及 “zoo”,但不能匹配 “z”。+ 等价于 {1,}。 /td> 的一个字符 {n} n是一个非负整数,例如,‘o{2}’ 不能匹配 “Bob” 中的 ‘o’,但是能匹配 “food” 中的两个 o。 {n,m} m,n均为非负整数,其中n<=m. 举个栗子:
匹配0或1次
*匹配0或多次
+ 匹配1或多次2.5 常见函数 (★)
2.5.1 字符函数
函数 说明 Left() 返回串左边的字符 Right() 返回串右边的字符 Length() 返回串的字节个数 Locate(子串,串或列名) 找出串的一个子串 Lower() 将串转换为小写 Upper() 将串转换为大写 LTrim() 去掉串左边的空格 RTrim() 去掉串右边的空格 SubString() 返回子串的字符 Concat() 拼接字符串 subString(字符串, pos, length) 中 length是指打印出的长度;
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!