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...
SQL 概述与分类:零基础也能懂的核心知识
SQL 概述与分类:零基础也能懂的核心知识无论学习哪种数据库(MySQL、Oracle、SQL Server),SQL 都是绕不开的基础。它是操作数据库的 “通用语言”,掌握其核心概念和分类,能让你在写代码时思路更清晰。本文用最简单的语言讲解 SQL 的本质和分类,新手也能快速入门。 一、什么是 SQL?一句话讲明白SQL(Structured Query Language,结构化查询语言)是一种专门用来操作数据库的编程语言。它的作用就像 “数据库的遥控器”—— 通过简单的命令,你可以让数据库执行 “查数据”“存数据”“建表”“改权限” 等操作。 SQL 的 3 个核心特点: 标准化:几乎所有数据库(MySQL、Oracle 等)都支持 SQL,学会一种,其他数据库的 SQL 用法也大同小异。 非过程化:你只需要告诉数据库 “要做什么”(比如 “查所有学生的名字”),不用管 “怎么做”(数据库会自己优化执行步骤)。 简单易学:基本命令都是英文单词(如SELECT“查询”、INSERT“插入”),逻辑和日常语言接近。 二、SQL 分类:5 大类命令,各司其职根据功能不同,S...
MySQL 安装避坑指南:服务启动与登录问题全解析
MySQL 安装避坑指南:服务启动与登录问题全解析MySQL 作为最流行的关系型数据库之一,安装过程中难免遇到各种问题,尤其是服务启动失败和登录报错,常常让初学者头疼。本文结合实战经验,总结了 MySQL 安装后服务启动与用户登录的常见问题及解决方案,帮你快速排查故障,顺利开启数据库之旅。 一、服务启动常见问题与解决方法MySQL 安装完成后,首先需要启动服务才能正常使用。服务启动失败是最常见的 “拦路虎”,主要集中在这几个场景: 1. 服务未安装或安装失败现象:执行net start mysql时提示 “服务名无效”,或安装过程中提示 “服务安装失败”。 原因: 安装包损坏或权限不足; 之前的 MySQL 服务未彻底卸载,残留注册表信息冲突。 解决步骤: 手动安装服务: 以管理员身份打开命令提示符(CMD),进入 MySQL 的bin目录(如C:\Program Files\MySQL\MySQL Server 8.0\bin),执行: 1mysqld --install [服务名] # 服务名默认是mysql,可自定义 提示 “Service successf...
MySQL 5.7 字符集设置指南:从乱码根源到彻底解决
MySQL 5.7 字符集设置指南:从乱码根源到彻底解决在 MySQL 使用中,“乱码” 是最让人头疼的问题之一 —— 明明输入的是中文,存储后却变成一堆问号或火星文。其实,这大多是字符集设置不当导致的。本文基于 MySQL 5.7 的字符集配置逻辑,教你从根源解决乱码问题,让数据存储和显示始终 “表里如一”。 一、先搞懂:字符集到底是什么?简单说,字符集是数据库 “认识” 文字的字典。不同的字符集支持不同的文字范围: latin1:只支持英文和少数符号,不支持中文; utf8:支持中文,但 MySQL 5.7 中的utf8是 “阉割版”,最多支持 3 个字节,无法存储 emoji(如😊)或某些生僻字; utf8mb4:“完整版” utf8,支持 4 个字节,能完美存储中文、emoji 和各种生僻字,是推荐选择。 如果数据库的字符集不支持你要存储的文字,就会出现乱码。比如用latin1存储中文,结果必然是问号 “???”。 二、MySQL 5.7 的字符集 “三层结构”MySQL 5.7 的字符集设置分为三个层级,层层递进,缺一不可: 服务器级:数据库启动时的默认字...
LinkedHashMap、HashSet、LinkedHashSet 深度解析:从源码到实战
LinkedHashMap、HashSet、LinkedHashSet 深度解析:从源码到实战在 Java 集合框架中,LinkedHashMap、HashSet 和 LinkedHashSet 是基于 HashMap 衍生出的高频使用类。它们看似独立,实则底层紧密关联,各自在 “有序性” 和 “去重性” 上形成互补。本文将从源码实现入手,解析三者的设计逻辑与适用场景,帮你在开发中精准选型。 一、LinkedHashMap:HashMap 的 “有序升级版”LinkedHashMap 是 HashMap 的子类,核心优势是支持有序存储,通过维护双向链表记录元素顺序,完美解决了 HashMap”无序” 的痛点。 1. 底层结构:HashMap + 双向链表LinkedHashMap 的底层由两部分组成: 哈希表:继承自 HashMap 的 “数组 + 链表 + 红黑树” 结构,保证键值对的高效存取; 双向链表:额外维护一条贯穿所有节点的双向链表,记录元素的插入顺序或访问顺序。 节点结构在 HashMap 的 Node 基础上新增了两个指针: 123456static cla...
JDK7 与 JDK8 中 HashMap 的演进:从问题到优化的全面解析
JDK7 与 JDK8 中 HashMap 的演进:从问题到优化的全面解析HashMap 作为 Java 集合框架中使用最广泛的工具类,在 JDK7 到 JDK8 的版本迭代中经历了根本性的设计升级。从单纯的 “数组 + 链表” 到引入红黑树优化,从线程不安全的头插法到更稳健的尾插法,这些变化不仅解决了旧版本的性能瓶颈,更体现了 Java 对实际开发需求的持续响应。本文将对比解析两个版本的核心设计,带你理解 HashMap 的演进逻辑。 一、JDK7 HashMap:简单设计下的性能与安全隐患JDK7 的 HashMap 采用 “数组 + 单向链表” 的基础结构,实现简单但在高频场景下暴露了明显缺陷。 1. 底层结构:数组 + 单向链表 数组(Entry [] table):作为存储节点的 “桶”,长度始终为 2 的幂(初始 16),通过(n-1) & hash计算索引(等价于取模,效率更高)。 链表(Entry 节点):每个节点包含hash、key、value和next指针,用于解决哈希冲突 —— 当多个 key 计算出相同索引时,用链表串联节点。 2. 核心问题...
Hexo 中 Butterfly 主题修改字体大小教程
Hexo 中 Butterfly 主题修改字体大小教程在使用 Hexo 搭建博客并采用 Butterfly 主题时,有时我们需要根据自己的阅读习惯调整字体大小,下面就来介绍具体的修改方法。 找到配置文件首先,我们需要找到字体大小设置所在的文件,路径为: 1\node_modules\hexo-theme-butterfly\source\css\var.styl 可以通过文件管理器导航到该路径,也可以在博客的开发工具中直接定位到这个文件。 修改字体大小参数打开var.styl文件后,我们会看到关于字体大小的配置代码: 1234// Global Variables$font-size = hexo-config('font.global_font_size') ? convert(hexo-config('font.global_font_size')) : 18px // 全局字体大小$code-font-size = hexo-config('font.code_font_size') ? convert(hex...
Hexo 常用命令使用和详解
Hexo 常用命令使用和详解Hexo 作为一款高性能的静态博客框架,其命令行工具设计简洁却功能强大。无论是新手搭建第一个博客,还是老手批量管理内容,掌握核心命令都是提升效率的关键。详细解析 Hexo 常用命令的用法与技巧。 一、内容管理:文章与页面的创建与发布1. 创建文章(默认布局为 post)1hexo new "文章标题" # 等价于 hexo new post "文章标题" 生成路径:source/_posts/文章标题.md Markdown 头部信息(Front-matter):自动生成包含标题、日期、标签等元数据的头部,例如: 123456---title: 文章标题date: 2025-08-10 15:30:00tags:- Hexo--- 2. 创建独立页面(如关于页、分类页)1hexo new page "页面名称" # 如 hexo new page "about" 生成路径:source/页面名称/index.md ...