⑴ mysql常用查询命令
1. SELECT:查询内容,语法:SELECT 列名称 FROM 表名称
2. SELECT DISTINCT 查询非重复内容,语法:SELECT DISTINCT 列名称 FROM 表名称
3. WHERE 查询条件, 子句中可以指定任何条件,条件与条件之间用and 和 or 隔开
语法:SELECT 列名称 FROM 表名称 WHERE条件1 AND 条件2
4. AND 和 OR 运算符,将 WHERE 中的多个条件结合起来。操作符包括:=(等于)、<>或=!(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)
空值条件:IS NULL;非空值IS NOT NULL;查询多个值IN()
5. ORDER BY 排序,默认为升序,字段后加DESC为降序
6. GROUP BY 分组 ,对结果进行分组
7. LEFT JOIN 左连接,两张表合并保留左表的全部内容,只要掌握左连接
语法:SELECT列名称 FROM 表1 LEFT JOIN 表2 ON 表1.某列 = 表2.某列
了解:RIGHT JOIN(右连接),INNER JOIN(内连接)、FULL JOIN(全连接)
8. UNION all上下合并,两张表上下合并(了解)
9. LIKE 模糊查询(了解)
语法: SELECT 列名称 FROM 表名称 WHERE 某列 like “%字符%”
10.SUM 求和
语法:SELECT SUM(列名称) FROM 表名称
11. COUNT 计数
语法:SELECT COUNT(列名称) FROM 表名称
12. IF 判断 语法:同excel
13. MIN,MAX等
14. round 四舍五入
15. concat 字符串连接
16. UPDATE:修改内容,语法:update 表名 set 修改字段= 新内容 where 修改条件
17. substring 字符串截取
18. cast 定义数值类型(了解)
19. CASE … WHEN … THEN …. END 满足某一个条件时执行/替换,可用于条件计数
20. DATEDIFF 两个日期之间间隔的天数
21. SUBDATE 日期往前数 ,语法:SUBDATE(date,INTERVAL expr unit)
例子:SUBDATE(“2018-10-1”,INTERVAL 1 day) 代表10月1日往前数1天,结果是9月30;SUBDATE(“2018-10-1”,INTERVAL 1 month) 代表10月1日往前数1月,结果是2018-9-1
⑵ where 子句所有知识点
我们已经看到使用SQL SELECT命令从MySQL表中获取数据。我们可以用 WHERE子句来筛选出结果的条件子句。使用WHERE子句,我们可以指定一个选择标准,从表中选择所需的记录。
语法
下面是SELECT命令使用WHERE子句来从MySQL表数据的通用SQL语法:
SELECT field1, field2,...fieldN table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
可以使用逗号分隔一个或多个表,以及WHERE子句包括各种条件,但WHERE子句只是SELECT命令的可选部分
可以指定使用任何条件在WHERE子句中
可以指定一个以上的条件在使用AND或OR运算符中
WHERE子句可以用DELETE 或 UPDATE的SQL命令一起,也可以指定一个条件使用。
WHERE子句就像是if一个条件在编程语言中, 此子句是用来比较给定值的字段值在MySQL表是否可用。如果从外部给定值等于在MySQL表可用字段值,那么它返回该行。
这里是运算符的列表,它可以在WHERE子句中使用。
假设字段A=10,字段B=20,则:
操作符
描述
示例
= 检查两个操作数的值是否相等,如果是,则条件变为真。 (A = B) 不为 true.
!= 检查两个操作数的值是否相等,如果值不相等,则条件变为真。 (A != B) 为 true.
> 检查左操作数的值是否大于右操作数的值,如果是,则条件为真。 (A > B) 不为 true.
< 检查左操作数的值是否小于右操作数的值,如果是,则条件为真。 (A < B) 为 true.
>= 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件为真。 (A >= B) 不为 true.
<= 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件变为真。 (A <= B) 为 true.
当想要从一个表中提取所选行,尤其是当使用MySQL联接的WHERE子句是非常有用的。 联接在另一章讨论。
搜索使用主键进行快速搜索记录是常见的做法。
如果给定的条件不匹配表任何记录,那么查询将不会返回任何行。
⑶ which 和 whereis 的区别
一般而言,倘若我们要在 linux 操作系统上开发或者移植一个功能或脚本时,对于功能中涉及的命令或者可执行文件需要使用绝对路径。
而要在 Linux 操作系统上搜索一条命令的绝对路径,你一定会选择 which 或者 whereis 两个命令中的一个来辅助你查找可执行命令的路径。当然, which 和 whereis 也可以满足你的觉大部分需求。
但同时作为查找命令的绝对路径, which 和 whereis 有什么区别呢?什么场景下更推荐 which ,什么场景下推荐 whereis 呢?
在看 which 和 whereis 的区别之前,先来看看两个命令官方给的解释。
which 命令用来展示shell命令的完整路径,它接收一个或多个参数,执行时所有的参数会展示在shell提示并根据传入的参数将可执行命令的完整路径输出到 stdout 中。
当你在 Linux 终端下试图查找一条命令的完整路径时, 终端将输出查找到的匹配的第一条可执行命令的绝对路径,如下
若需要查找命令对应的所有完整路径,你可以在加上 -a 参数
那么, which 查找命令时是从哪里查找的?
我们在终端输入一条不存在的命令,来看看 which 会返回什么。
当输入一个不存在的命令时,终端返回了类似 no {command} in (xxxx) 这样的提示,看到这些 /usr/local/bin 等路径你是否会觉得熟悉。没错,这就是 Linux 操作系统上配置的环境变量。
也即是说, which 查找一条命令是根据当前 Linux 的环境变量来查找的。
被查找的命令在环境变量配置的对应目录下,则该命令可以被查找到并返回该命令的绝对路径;倘若环境变量配置的所有目录下没有找到对应的命令,则会出现上面的提示。
那么,如何通过 which 能查找到 initialization 这个可执行文件呢?你可以将 initialization 可执行文件移动到环境变量所配置的目录下,或者将 initialization 文件当前的路径添加到环境变量中。不过,针对单一命令,你应该尽可能使用第一种方法。毕竟,随意添加环境变量并不总是好的。
whereis 查找命令时会返回查找到的二进制文件、源码文件、和命令对应的手册信息,搜索时 whereis 会将提供的文件名前面的路径与后面的扩展名去掉,并找到与之匹配的文件。
当使用 whereis 查找命令的绝对路径及手册时,终端会返回可以被匹配到的命令的绝对路径、源文件及手册,如下
whereis 搜索命令时提供了一些参数,用来根据需要查找对应的结果。例如,
通过添加 -b 参数只查找可执行文件的路径
通过添加 -m 参数只查找命令相关的手册
通过添加 -s 参数查找对应的源文件
正如你所看到的, whereis 查找到的内容不存在时,并不会出现报错信息,你可以通过 echo $? 来验证这一点。
那么, whereis 查找信息是从哪里查找的呢?
事实上, whereis 命令提供了 -l 参数用来查询当前 whereis 查找命令的所有有效路径
可以看到, whereis 查找信息主要分为3部分,其中可执行文件的路径查找在 bin: 后的所有目录下查找;手册查找在 man: 后的所有目录下查找;源文件在 src: 后的所有目录下查找。
事实上, bin: 后的所有目录不正是 Linux的环境变量吗?
最后,如果你仅仅只需要查找命令的绝对路径,那么使用 which 则更便于程序解析,当命令不存在时,你也能第一时间反应到文件不存在;
若你需要命令的源程序信息,那么使用 whereis 则显得更加合适了。
⑷ linux如何查找文件
1、使用find命令
Linuxfind命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录或文件。并且将查找到的子目录和文件全部进行显示。
语法:find path -option [ -print ] [ -exec -ok command ] {} ;
2、使用locate命令
Linux locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。
一般情况我们只需要输入locate your_file_name即可查找指定文件。
语法:locate [-d ][--help][--version][范本样式...]
3、使用which命令
Linux which命令用于查找文件。
which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
语法:which [文件...]
4、使用whereis命令
Linux whereis命令用于查找文件。
该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。
该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。
语法:whereis [-bfmsu][-B <目录>...][-M <目录>...][-S<目录>...][文件...]
⑸ Linux里面where和which命令区别是什么
which是根据PATH里面的路径进行查找,一般查找的路径是/bin/ /sbin/ /usr/bin/ /usr/sbin /usr/local/bin /usr/local/sbin 等目录
where(??)应该是whereis. whereis 是查找命令相关的文件或帮助文件 ,比which多些帮助文件
⑹ 简述find命令和whereis命令在查找文件上的区别
linux中查找命令find、locate、whereis、which、type区别
1. find
www.2cto.com
Java代码
find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。与查询数据库(/var/lib/locatedb)文件不同,find查找磁盘空间
find的使用格式如下:
$ find <指定目录> <指定条件> <指定动作>
- <指定目录>: 所要搜索的目录及其所有子目录。默认为当前目录。
- <指定条件>: 所要搜索的文件的特征。
- <指定动作>: 对搜索结果进行特定的处理。
www.2cto.com
如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。
find的使用实例:
$ find . -name 'my*'
搜索当前目录(含子目录,以下同)中,所有文件名以my开头的文件。
$ find . -name 'my*' -ls
搜索当前目录中,所有文件名以my开头的文件,并显示它们的详细信息。
$ find . -type f -mmin -10
搜索当前目录中,所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+特殊文件+目录。
2. locate
Java代码
locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。
locate命令的使用实例:
$ locate /etc/sh
搜索etc目录下所有以sh开头的文件。
$ locate ~/m
搜索用户主目录下,所有以m开头的文件。
$ locate -i ~/m
搜索用户主目录下,所有以m开头的文件,并且忽略大小写。
3. whereis
Java代码
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。同locate一样,查询数据库(/var/lib/locatedb)文件
whereis命令的使用实例:
$ whereis grep
4. which
Java代码
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
which命令的使用实例:
$ which grep
5. type
Java代码
type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。
www.2cto.com
type命令的使用实例:
$ type cd
系统会提示,cd是shell的自带命令(build-in)。
$ type grep
系统会提示,grep是一个外部命令,并显示该命令的路径。
$ type -p grep
加上-p参数后,就相当于which命令。