-
SQL 查询:子查询
…
-
SQL 语句:ORDER BY 排序查询子句 && LIMIT 范围查询
文中涉及的数据表见文章:SQL DML 语句简介ORDER BY 排序查询ORDER BY 的作用:对临时查询结果集进行排序,而不是针对从磁盘加载到内存的初始数据集进行排序后再查询!LIMIT 范围查询ORDER BY 的作用:对临时查询结果集进行排序!ORDER BY 与 LIMIT 的应用要求针对商品表 goods 做以下查询 按价格由高到低排序SELECT goods_id,goods_name,shop_price FROM goods ORDER BY shop_price...…
-
SQL 查询:连接查询
…
-
MySQL 中的列数据类型
…
-
MySQL 数据库模式:sql_mode
什么是数据库模式: sql_mode ?数据库的 SQL 模式定义了当前数据库(如: MySQL、MSSQLServer)应该支持的 SQL 语法以及应该执行的数据验证检查类型。这使得在不同环境中使用 MySQL 以及将 MySQL 与其他同样支持 SQL 语法的数据库服务器一起使用更加容易。MySQL 服务器将这些模式分别应用于不同的客户端。简单来说,即: SQL 是一个独立的查询语法,没有强制跟任何数据库绑定 绝大多数关系型数据库都支持 SQL 语法的查询语句,但不同类型关系型数据...…
-
SQL 练习题:WHERE-HAVING-GROUP 综合练习
文中涉及的数据表见文章:SQL DML 语句简介有如下 result 表及数据,要求查询出 2 门及 2 门以上不及格者的平均成绩!思路应该都知道:①.先找出有 2 门及 2 门以上不及格的人;②. 利用 avg() 函数求平均值!取平均值没什么难度,仅仅是函数的简单运用而已,那么怎么找出 2 门及 2 门以上不及格的人,就成了关键!错误示范:说到统计不及格的人数,可能一下子就想到了 count( score < 60 ),这是最显著的一种错误:count() 函数的理解错误!如...…
-
SQL 语句:HAVING 查询筛选子句
文中涉及的数据表见文章:SQL DML 语句简介HAVING 是针对查询得到的结果集进行进一步的过滤筛选。因此:HAVING 条件涉及的列一定是在 SELECT 临时结果集中出现的列。注意:如果 SELECT 的列使用了 AS 命名了别名,那么 HAVING 做筛选时候也需要使用别名!以商品表-goods 表为例,要求:查询 goods 表中商品比市场价低出至少 200 的商品。如下: 结合列是变量,可以进行计算,查询 goods 表中商品比市场价低出多少?SELECT goods_...…
-
SQL 语句:GROUP BY 分组查询子句
文中涉及的数据表见文章:SQL DML 语句简介GROUP BY 查询子句可以根据给定列(该列称为:聚合列)的值对数据集进行分组,一般会结合聚合函数或聚合分析函数最终得到一个分组汇总表。聚合函数是将组中的行汇总计算为单个值的函数,如:COUNT()-计算行数、SUM()-求和、AVG()-求平均值、MAX()-取集合中的最大值、MIN()-取集合中的最小值…等需要注意的是: 严格模式下:当 SELECT 语句配合 GROUP BY 子句一起使用时,SELECT 的列、HAVING 子...…
-
SQL 语句:WHERE 条件查询子句
文中涉及的数据表见文章:SQL DML 语句简介条件运算在很多程序设计语言中都是存在的,其结果是布尔型,只有两种情况:真-true,假-false! 关于条件语句,PHP核心开发者鸟哥的博客有一篇文章-一个关于if else容易迷惑的问题 提到一句话:这个世界上本无 elseif,有的只不过是 else (if statement),对条件运算的结果阐释的非常到位! 查询出第4号、第11号商品的名称、价格select goods_id,goods_name,shop_price f...…
-
我的 VIM 小记
VIM 是一个非常小巧、功能强大的文本编辑器,我非常喜欢使用 VIM 配合正则来处理大文本信息!现在有非常多优秀的编辑器,例如: sublime text 、 Notepad++ ,但是如果你用这些编辑器来处理上万行的文本查找、替换…如果电脑配置稍微低一点点,那是分分钟崩溃的节奏!将 VIM 打造成 IDE 一样强大,至少目前对我来说是不必要的,市面的 IDE 工具已经很强大、很多,而且实际工作中也很少会在漆黑的命令行下长时间编码!综上:能精通 VIM 那固然是极好的,但熟悉 VIM 的使...…
-
我的 IDEA 小记
Jetbrains系列产品重置试用方法 PHPStrom 主题配置 PHPStrom 主题 Github 推荐 IntelliJ IDEA 教程修改图标 打开 Preferences > Plugin,点击 Browse repositories 搜索 Material Theme UI工具:PHPStrom 修改 IDE 终端 Terminal 为 Git-Bash 打开设置(快捷键: Ctrl + Alt + S ),进入 Plugins, 搜索栏搜索 Termi...…
-
数据库知识小记
概念是对事物的特征描述,理解数据库的概念对掌握数据库的使用、学习有很大帮助!1. 什么是数据库?数据库,又叫做“数据管理系统”-就是一个存储和管理数据的仓库系统!大致可以划分为:关系型数据库:RDS 和非关系型数据库:NoSQL-Not Only SQL。数据库 = 数据库引擎服务 + 数据库查询程序 + 数据库客户端。非关系数据库没有统一固定的数据结构类型,但是关系型数据库一般都是通过二维表结构的方式组织存放数据的:由 “表” 组建成一个 “库”,由多个 “库” 组建为一个数据库服务。关...…
-
SQL DML 语句简介
测试 SQL 语句准备:点击下载SQL测试文件wget -O /tmp/test-mysql.sql https://minsonlee.github.io/attaching/test-mysql.sql 导入 MySQL# 登录mysql,切换到 `test` 库(没有创建提前创建):CREATE DATABASE `test` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;mysql -u root -p te...…
-
MySQL 8 重置 `root` 用户密码
在安装 MySQL 的过程中有一个初始化数据库的操作:mysqld --initialize或mysqld --initialize --console,这个操作中会生成一个 MySQL 用户: root@localhost,同时还有其初始化密码,要记下!要记下!要记下!MySQL 8 忘记密码在 MySQL 8 之前的旧版本是可以通过 MySQL安装目录》data目录》xxx.err文件,使用编辑器打开,搜索关键字 temporary password 查询初始密码,但是在 MySQL ...…
-
MySQL 8.0.23 源码安装
MySQL 8.0 也出了有一段时间了,最新版 MySQL 8.0.23 在 2021-01-18 发布,来尝尝鲜! 系统: CentOS7 或 Ubuntu 20 (Ubuntu 只需将 yum 替换成 apt-get 即可) 数据库版本: MySQL 8.0.231. 安装必要依赖yum install gcc gcc-c++ gcc-g77 make autoconf automake ncurses ncurses-devel openssl openssl-devel bis...…
-
Linux JSON 格式化工具 - `jq`
JSON-JavaScript Object Notation 是一种轻量级的数据交换格式。由于其简单、便于阅读、便于编写的特性,逐渐替代了一部分xml的职责在数据交换领域占有一定地位,绝大部分的语言也都提供了对JSON文本的解析,详细可阅读:什么是JSON、各主流语言的JSON解析代码。Linux 平台上处理文本的工具堪称是经典,例如:sed、awk、grep、find…,但如果返回结果是 JSON 格式,使用上述提到的文本处理工具也可以获取到对应的值,但成本稍微复杂一点(并且还有可能不...…
-
MySQL命令行神器-mycli
MySQL 的客户端很多首推 Navicat,但工作中总是避免不了要在漆黑的命令行下操作 MySQL,使用其自带的 mysql-client 工具体验并不算太好。MyCLI 是一款使用 python 语言开发的支持 MySQL、MariaDB 和 Percona 数据库的终端工具,具有提示、自动补全、使用高危命令时二次确认等等人性化的功能。同时 mycli 命令完全继承了 mysql 命令中的参数,因此熟悉 mysql 的人都能快速上手使用,学习成本低!MyCLI 基于 Python 开发...…
-
Web压测工具-siege
Siege是一个HTTP Web服务器负载测试和基准测试的开源免费的命令行工具。其支持:HTTP、HTTPS、FTP协议,但只能运行在类Unix系统之下(不支持Windows系统)。相比于ab,siege 的压测更贴近真实用户,因为: siege单次请求过程中是模拟用户浏览器访问行为,会将结果中涉及的资源链接都进行加载 siege可以支持从一堆链接中随机的进行访问安装# 1. 下载源码包cd /tmp && wget -o /tmp/siege-latest.tar.g...…
-
Web压测工具-ApacheBench(ab)
Apache Bench(ab)是一个对HTTP Web服务器(基于HTTP/HTTPS协议)进行负载测试和基准测试的开源免费、跨平台的单线程命令行工具。如果此前你已经安装了 Apache Web Server,那么 ab 工具应该也是一起自动安装了的。当然ab也可以单独作为Apache实用工具单独安装。注意: ab的负载测试类似于DOS攻击,没有指令可以在运行测试时按特定间隔增加/减少并发性(即:不能梯度加压测试或梯度减压测试-JMeter可以实现加压测试,但使用上没有ab简单) 不...…
-
curl 和 wget 的使用和区别
简介cURL 是一个开源项目,主要的产品有 curl 和 libcurl: curl 是一个跨平台的 URL 命令行工具,libcurl 是一个 C语言的网络协议扩展库。两者都是基于多种互联网通用协议对指定 URL 的资源进行数据传输。更多的信息可以阅读电子书:《Everything curl》GUN Wget 也是一个免费的开源项目,用于从 web 上下载文件。wget 使用通过软件管理包安装非常简单,可参考:《How to Install Wget in Linux》# Ubuntu/...…