MySQL 运算符实战:9 道经典练习题解析
MySQL 运算符实战:9 道经典练习题解析运算符是 MySQL 查询的 “灵魂”,灵活运用各类运算符能让数据筛选更加精准高效。本文通过 9 道实战练习题,详解逻辑运算符、比较运算符及模糊匹配的用法,帮你快速掌握运算符的核心应用场景。 一、范围查询:NOT BETWEEN 与 OR 的灵活运用题目 1:选择工资不在 5000 到 12000 的员工的姓名和工资解决方案123456789-- 方法1:使用OR逻辑运算符SELECT last_name, salaryFROM employeesWHERE salary < 5000 OR salary > 12000;-- 方法2:使用NOT BETWEEN(更简洁)SELECT last_name, salaryFROM employeesWHERE salary NOT BETWEEN 5000 AND 12000; 知识点解析 BETWEEN AND:表示闭区间范围(包含边界值),salary BETWEEN 5000 AND 12000 等价于 salary >= 5000 AND salary...
MySQL 运算符详解:逻辑、位运算与正则表达式应用
MySQL 运算符详解:逻辑、位运算与正则表达式应用在 MySQL 中,运算符是构建复杂查询条件的基础。除了基础的算术和比较运算符,逻辑运算符、位运算符以及正则表达式的灵活运用,能让数据筛选更加精准高效。本文将系统讲解这些运算符的用法、规则及实战技巧,帮助你掌握复杂查询的核心技能。 一、逻辑运算符:多条件组合的核心逻辑运算符用于组合多个条件,判断表达式的真假,返回结果为1(真)、0(假)或NULL(未知)。常用的有四种: 1. 逻辑非(NOT / !)作用:对条件结果取反 语法:NOT 条件 或 ! 条件 规则: 条件为0(假)时返回1; 条件为非0(真)时返回0; 条件为NULL时返回NULL。 示例: 1234-- 查询薪资不在9000-12000之间的员工SELECT employee_id, salary FROM employees WHERE NOT (salary >= 9000 AND salary <= 12000); 2. 逻辑与(AND / &&)作用:所有条件同时为真时返回1 语法:条件1 AND...
MySQL 排序与分页实战:3 道经典练习题解析
MySQL 排序与分页实战:3 道经典练习题解析排序(ORDER BY)和分页(LIMIT)是 MySQL 查询中处理结果集的核心操作,常用于数据展示、报表生成等场景。本文通过 3 道实战练习题,详解排序与分页的组合用法,帮你掌握复杂结果集的处理技巧。 一、多条件排序:按年薪和姓名组合排序题目 1查询员工的姓名、部门号和年薪,按年薪降序、姓名升序显示。 解决方案1234567SELECT last_name, department_id, salary * 12 AS annual_sal -- 计算年薪并起别名FROM employeesORDER BY annual_sal DESC, -- 先按年薪降序(高薪在前) last_name ASC; -- 年薪相同时按姓名升序(A-Z) 知识点解析 计算字段与别名:salary * 12 计算年薪,用 AS 定义别名 annual_sal,简化排序条件; 多列排序规则: 先按第一个字段(annual_sal)排序,DESC 表示降序; 当第一个字段值相同时,再按第二个字段(...
Hexo 双分支部署指南:从原理到 Netlify 实战
Hexo 双分支部署指南:从原理到 Netlify 实战在 Hexo 博客部署中,很多人会困惑于hexo d自动部署与 GitHub 手动提交的区别,以及如何通过双分支结构优雅地部署到 Netlify。本文将清晰拆解两种部署方式的核心差异,并手把手教你用双分支策略实现 Netlify 部署,兼顾源码安全与静态文件发布需求。 一、核心概念:hexo d与 GitHub 手动提交的区别简单说,两者的本质是操作对象和目标分支的不同,具体区别如下: 维度 hexo d(自动部署) GitHub 手动提交(git push) 操作对象 仅处理public文件夹(静态文件:HTML/CSS/JS 等) 处理 Hexo 源码(source文章、themes主题、_config.yml配置等) 依赖配置 依赖_config.yml中的deploy字段(指定仓库和分支) 依赖 Git 基础命令(add/commit/push),无需特殊配置 分支用途 通常部署到静态文件分支(如gh-pages/netlify-pages) 通常...
从 MySQL 5.7 迁移到 8.0:别让 SQL 文件 “坑” 了你
从 MySQL 5.7 迁移到 8.0:别让 SQL 文件 “坑” 了你最近处理了一个 MySQL 迁移的棘手问题:把 5.7 环境的数据库打包成 SQL 文件,直接在 8.0 里恢复后,各种报错接踵而至 —— 系统表引擎异常、密码修改失败、甚至服务启动崩溃。其实这类问题很常见,核心原因在于5.7 和 8.0 的底层设计差异,直接 “照搬” 数据很容易踩坑。今天就聊聊如何正确迁移,以及出问题后该怎么补救。 一、为什么 5.7 的 SQL 文件在 8.0 里会 “水土不服”?很多人觉得 “都是 MySQL,备份恢复一下就行”,但 5.7 到 8.0 的变化远超想象,直接恢复 SQL 文件可能触发一系列连锁反应: 1. 引擎规则 “红线” 被触碰5.7 中用户表默认引擎可能是 MyISAM(取决于配置),而 8.0 默认是 InnoDB。如果 SQL 文件里显式写了ENGINE=MyISAM,恢复到 8.0 后: 普通用户表可以用 MyISAM(8.0 仍支持,但不推荐); 但如果误操作涉及系统表(如mysql.db),就会触发Storage engine ‘MyISA...
MySQL 插入数据提示字段超出范围?一招解决 DECIMAL 类型踩坑
MySQL 插入数据提示字段超出范围?一招解决 DECIMAL 类型踩坑在日常数据库操作中,我们经常会遇到各种字段类型相关的问题。今天就来聊聊一个常见的错误:插入数据时提示字段值超出范围,以实际案例带你搞懂 MySQL 中 DECIMAL 类型的使用要点。 问题场景再现先看一下我创建表和插入数据的操作: 12345678910111213141516171819-- 创建商品表CREATE TABLE mini_product ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) NOT NULL, price DECIMAL(6,2)) ENGINE=InnoDB;-- 插入商品数据INSERT INTO mini_product (name, price) VALUES('iPhone', 6999.00),('小米电视', 3299.00),('华为耳机', 899.00),('联想笔记本', 5699.00),('...
MySQL 基础:SELECT 语句的核心语法与规范
MySQL 基础:SELECT 语句的核心语法与规范SELECT 语句是 MySQL 中最基础也最常用的查询命令,掌握其语法规则和使用规范,是高效处理数据的第一步。本文将聚焦 SELECT 语句的基本结构、关键规范及实用功能,帮助初学者建立扎实的 SQL 基础。 一、SELECT 语句的基本语法结构1. 核心语法框架SELECT 语句的最基础结构用于从表中提取指定字段的数据,语法如下: 12345-- 选择指定字段SELECT 字段1, 字段2, ... FROM 表名;-- 选择所有字段(不推荐在生产环境使用)SELECT * FROM 表名; 2. 关键说明 SELECT 后接需要查询的字段名,多个字段用英文逗号分隔; FROM 后必须指定数据来源的表名,否则会触发语法错误; 语句必须以英文分号 ; 结束,这是 MySQL 语句的通用规则。 二、SELECT * 的使用禁忌与替代方案SELECT * 能快速返回表中所有字段,但在实际开发中存在明显弊端,需谨慎使用: 1. 不推荐使用的原因 效率低下:会返回无关字段,增加数据库 IO 压力和网络传输成本,尤其对包含大量...
MySQL 基础操作与编码设置:从入门到避坑
MySQL 基础操作与编码设置:从入门到避坑掌握 MySQL 的基础操作是使用数据库的第一步,而字符集设置不当导致的乱码问题则是新手常踩的 “坑”。本文从实际操作出发,带你快速上手数据库基本操作,并解决中文存储的常见问题。 一、MySQL 基础操作:从数据库到表的核心命令1. 查看所有数据库登录 MySQL 后,首先可以查看当前服务器中的所有数据库: 1SHOW DATABASES; 系统默认包含 4 个核心数据库: information_schema:存储数据库元信息(如库名、表名、字段类型等); performance_schema:用于监控数据库性能; sys:简化性能监控的视图集合; mysql:存储用户权限、系统配置等核心信息。 2. 创建自己的数据库使用create database命令创建自定义数据库,名称需唯一: 12-- 创建名为cyforkkdb的数据库CREATE DATABASE cyforkkdb; 3. 切换到目标数据库对数据库操作前需先指定目标库,使用use命令: 12-- 切换到cyforkkdb数据库USE cyforkkdb;...
SQL 语言规范与基础操作指南
SQL 语言规范与基础操作指南SQL 作为数据库操作的核心语言,遵循规范的语法和书写习惯不仅能提高代码可读性,还能减少错误。本文整理了 SQL 的基础规则、书写规范及常用操作,适合初学者快速上手。 一、SQL 基本规则1. 书写格式 SQL 语句可写在一行或多行,推荐各子句分行书写并适当缩进,例如: 123SELECT id, name FROM student WHERE age > 18; 每条命令必须使用下列其中一个用在末尾用结束语句(; 最常用) ; \g \G 2. 关键字与标点 关键字(如SELECT、FROM、WHERE)不可缩写或分行,需完整书写。 标点符号必须使用英文半角(如’、”、()),且需成对出现(如引号、括号不能遗漏闭合)。 字符串和日期时间类型的值需用单引号(’ ‘) 包裹,例如 ‘2023-01-01’。 列的别名建议用双引号(” “),且AS关键字可省略(但不建议),例如: 1SELECT id AS "编号", name "姓名" FROM student; -- 正确 二、...
Hexo+Butterfly 优雅配置音乐播放器
Hexo+Butterfly 优雅配置音乐播放器在博客中嵌入音乐播放器,能为访客营造更沉浸的阅读氛围。Hexo 搭配 Butterfly 主题时,借助 APlayer 和 Meting.js 可快速实现这一功能,无需复杂开发。本文将详细讲解配置流程、参数含义及实用技巧,帮你轻松打造专属音乐博客。 一、核心工具与原理配置音乐播放器需依赖两个关键工具,二者分工明确: APlayer:轻量级 HTML5 音乐播放器内核,负责渲染播放界面、控制播放逻辑(如暂停、切换歌曲); Meting.js:音乐平台 API 封装工具,支持直接调用网易云、QQ 音乐等平台的播放列表,无需自建音乐文件库。 工作流程:Meting.js 从音乐平台获取播放列表数据,APlayer 将数据渲染为可视化播放器,实现 “一键接入在线音乐” 的效果。 二、前置准备 环境要求: 已安装 Hexo 博客框架及 Butterfly 主题(建议使用最新版本,兼容性更好)。 若未安装主题,可参考 Butterfly 官方文档 完成部署。 获取音乐资源 ID: 以网易云音乐为例,打开目标播放列表,URL 中 i...




