《MySQL 表基础语法:从入门到熟练的核心技巧》

《MySQL 表基础语法:从入门到熟练的核心技巧》
前引:MySQL 表的增删查是数据库操作的基础,也是日常开发、数据分析中最高频的需求。很多初学者会卡在语法细节、场景适配或效率优化上,明明掌握了基础命令,实际应用中却频频出错。本文聚焦 “实用 + 避坑”,从核心语法到高频场景,再到优化技巧,帮你彻底吃透 MySQL 表增删查,告别 “只会用不会用对” 的尴尬
SQL查询中各个关键字的执行先后顺序:

from > on> join > where > group by > with > having > select > distinct > order by > limit

目录

【一】增

(1)基本创建

(2)单行数据+全列插入

(3)多行数据+指定列插入

(4)插入更新

【二】查

(1)全列查询

(2)指定列查询

(3)按表达式查询

(4)给查询结果跟换别名

【三】where条件

(1)比较运算符

(2)逻辑运算符

(3)举例:比较+逻辑运算符

(4)举例:数据匹配

【四】结果排序

(1)单字段排序

(2)多字段排序

【五】聚合函数

(1)返回查询数据数量

(2)返回查询的数据总和

(3)查平均值

(4)查最大/小值

【六】日期函数

(1)接口

举例:

【七】字符串函数

(1)接口

举例:

【八】数学函数


【一】增

(1)基本创建

创建一张表:create table语法

create table 表名( 字段名1 字段类型, 字段名2 字段类型 );

比如创建一个学生信息,需要有学生名、学号(主键)、电话号码(唯一键):都不能为空

首先我们创建一个数据库:message

现在创建表:字段+数据类型+约束

(2)单行数据+全列插入

插入核心语法:insert into 表名(数据字段) values(插入数据)

insert into 表名(字段名称(逗号区分)) values (插入的数据(逗号区分));

例如:如果不填数据字段,默认是全列插入

显示:

(3)多行数据+指定列插入

填充表名后面的数据字段即可,例如:

(4)插入更新
insert into student(id,name,phone) values(12321,'王五','15098706751') on duplicate key update 指定字段更新,例如: insert into student(id,name,phone) values(12321,'王五','15098706751') on duplicate key update id = 09089, phone = '18927390098';

如果因为主键或者唯一键的冲突导致插入失败,可以更新数据再进行插入:

现在更新:

【二】查

现在为了方便演示我们创建数据:

-- 创建表结构 CREATE TABLE exam_result ( id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) NOT NULL COMMENT '同学姓名', chinese float DEFAULT 0.0 COMMENT '语文成绩', math float DEFAULT 0.0 COMMENT '数学成绩', english float DEFAULT 0.0 COMMENT '英语成绩' ); -- 插入测试数据 INSERT INTO exam_result (name, chinese, math, english) VALUES ('唐三藏', 67, 98, 56), ('孙悟空', 87, 78, 77), ('猪悟能', 88, 98, 90), ('曹孟德', 82, 84, 67), ('刘玄德', 55, 85, 45), ('孙权', 70, 73, 78), ('宋公明', 75, 65, 30); 
(1)全列查询

通常 select 后面直接使用 * 代表全列查询,例如:

(2)指定列查询
注意:指定列的查询顺序可以不按表的定义顺序来

在 select 后面增加要查询的字段,如果有多个用逗号分开即可查询指定的字段,例如:

其中 select 与 from 大家应该很好理解,这属于固定指令,查什么从哪里查

(3)按表达式查询

select 后面的查询字段可以带表达式,依然用逗号区分(后面会介绍有哪些表达式),例如:

(4)给查询结果跟换别名

上面 name 这些属于已有别名,如何更换为其它的别名?在表达式后面用空格分开,直接写别名

【三】where条件

select 后面的语句是用来指定查找的内容,比较运算符就是对内容增加比较逻辑,语法为:

select ...... from ..... where......

快速上手:where之后空行,再按照语言的表达输出表达式即可

(1)比较运算符
(2)逻辑运算符
(3)举例:比较+逻辑运算符

例如:对下面的表完成数据指定查询

查找英语高于60分的同学:
查找数学和英语成绩之和超过120的同学:
语文和数学成绩之和,在【120~150】的同学:
(4)举例:数据匹配

例如:查找姓孙的同学:

例如:找孙某同学:

【四】结果排序

语法:(注意:没有 ORDER BY 子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序)

where 是用来增加筛选条件的,这里的排序不属于筛选!

-- ASC 为升序(从小到大) -- DESC 为降序(从大到小) -- 默认为 ASC select ... from .... order by .......
(1)单字段排序

例如:查英语降序:

(2)多字段排序
注意:只有前一个字段的值相同时,才会执行后一个字段的排序

【五】聚合函数

这些聚合函数是支持将 字段名组合 进行参数传递的,具体如下参考:

(1)返回查询数据数量
count(字段);

例如:查有几个人

(2)返回查询的数据总和
sum(字段);

例如:查语文和数学成绩总和

(3)查平均值
avg(字段);

例子:查语文平均成绩

(4)查最大/小值
max/min(字段);

例如:查数学最高分

【六】日期函数

(1)接口

下面是日期函数调用,使用方法和聚合函数一样:

举例:
获取当前日期:
获取当前时间:
获取当前日期的时间:

创建一个留言表:记录人留的字段,自动记录时间(可以用current_timestamp作为缺省值)

自动补充时间:

形成留言的效果:

【七】字符串函数

(1)接口
举例:
连接字符串:
查询:instr 是由1开始计算下标,不是从0开始
搭配字段使用:

【八】数学函数

Read more

安装openclaw时出现npm error code ENOENT npm error syscall spawn git报错的解决方案

安装openclaw时出现npm error code ENOENT npm error syscall spawn git报错的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为ZEEKLOG博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理解,而且能够帮助新手快速入门。 本文主要介绍了安装openclaw时出现npm error code ENOENT npm error syscall spawn git报错的解决方案,希望能对使用openclaw的同学们有所帮助。 文章目录 * 1. 问题描述 * 2. 解决方案 1. 问题描述 今天在使用命令安装openclaw时,却出现了npm error code ENOENT和npm error syscall spawn git的错误提示,具体报错信息如下图所示: 在经过了亲身的实践后,终于找到了解决问题的方案,最终将逐步的操作过程总结如下。希望能对遇到同样bug的同学们有所帮助。

By Ne0inhk
最新版 GLM-5 全栈实战全教程:从本地开源部署到 API 接入(多 Agent 架构 + 全栈编程 + 就业级项目实战)

最新版 GLM-5 全栈实战全教程:从本地开源部署到 API 接入(多 Agent 架构 + 全栈编程 + 就业级项目实战)

一、背景与技术概述 随着开源大模型技术的快速迭代,GLM-5 系列凭借优秀的指令遵循能力、长上下文支持、轻量化部署适配性与商用友好的开源协议,成为企业级AI落地与个人开发者技术进阶的核心选型之一。 本文以问题驱动为核心,完整覆盖从本地开源部署到工程化API封装、多Agent架构设计、全栈项目实战的全流程,解决开发者在大模型落地过程中面临的部署门槛高、工程化能力不足、Agent架构落地难、全栈项目缺乏可复用方案等核心痛点。本文所有实操步骤均经过生产环境验证,代码可直接复用,适配就业级项目的技术要求与企业落地标准。 1.1 GLM-5 核心技术特性 * 开源协议:Apache 2.0 协议,支持商用二次开发,无额外授权门槛 * 核心能力:支持128K超长上下文窗口,原生支持函数调用、多模态理解、结构化输出,指令遵循准确率较前代提升42% * 部署适配:原生支持FP8/INT4/AWQ/GPTQ多精度量化,最低可在16G显存环境完成流畅推理,适配消费级显卡与企业级GPU集群 * 性能优化:基于稀疏注意力架构与PagedAttention机制,推理吞吐量较同参数量模型提升3倍,

By Ne0inhk
爆肝 2 天,用 GLM5 开发了 OpenClaw 接入微信 bot,已开源!

爆肝 2 天,用 GLM5 开发了 OpenClaw 接入微信 bot,已开源!

这是苍何的第 493 篇原创! 大家好,我是苍何。 OpenClaw,这个 GitHub 上 18 万 Star 的怪物级开源项目,你们应该都听过了吧? 飞书能接、钉钉能接、企业微信能接、QQ 能接、Discord 能接…… 但偏偏最多人用的「微信个人号」,它不支持。 我翻遍了 GitHub、掘金、知乎,找到的方案要么是企业微信绕一圈,要么是用微信 Web 协议搞,动不动就封号。 说实话,这谁顶得住? 天天在微信上跟朋友聊天、在群里吹水,结果想接个 OpenClaw 都这么费劲? 麻了。 于是我决定自己干。 「爆肝 2 天,我把 OpenClaw 接入了微信个人号,并且已经开源了。」 地址:

By Ne0inhk
【AI绘画】Midjourney进阶:色相详解

【AI绘画】Midjourney进阶:色相详解

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳]本文专栏: AI绘画 | Midjourney 文章目录 * 💯前言 * 💯Midjourney中的色彩控制 * 为什么要控制色彩? * 为什么要在Midjourney中控制色彩? * 💯色相 * 红 * 橙 * 黄 * 绿 * 蓝 * 紫 * 黑与白 * 💯小结 💯前言 在设计领域中,色相作为色彩的重要维度,直接决定了作品的视觉基调与情感表达。通过对色相的深入理解与灵活运用,设计师可以在作品中精准传递信息,激发观众的情感共鸣。Midjourney 作为一款强大的AI绘画工具,为设计师提供了高效探索色相表现的创作平台,使复杂的色彩控制变得直观且富有创意。 本篇文章将以色相为核心,从色彩心理学与实际应用出发,结合 Midjourney 的提示词设置,详细解析不同色相在设计中的作用与特点。无论是自然主题的绿、蓝,还是富有情感张力的红、紫,每一种色相都在设计中扮演着不可替代的角色。 Midjourney官方使用手册 💯Midjourney中的色彩控制 在 Mi

By Ne0inhk