Mysql常用语法一篇文章速成
文章目录
- 前言
- 前置环境
- 数据库的增删改查
- 查询数据
- 查询所有
- 条件查询
- 多条件查询
- 模糊查询
- 分页查询
- 排序查询
- 分组查询
- ⭐️⭐️关联查询
- 关联分页查询
- 添加数据insert
- 插入多条记录
- 不指定列名(适用于所有列都有值的情况)
- 更新数据
- 更新多条记录
- 更新多个列
- 更新不满足条件的记录
- 删除
- 统计数据函数(sum 、count)
前言
本篇文章旨在为初学者提供一个快速入门Mysql的指南,帮助读者在短时间内了解MySQL的核心语法和基本功能。逐步深入到表的操作、数据的增删改查(CRUD)以及常见的查询技巧。
前置环境
安装Mysql5.7或8.0mysql官网
安装数据库可视化软件navicatnavicat官网
进入navicat
点击链接 新建链接

新建数据库并且相同操作在建表
设计表并新建几条数据


数据库的增删改查
查询数据
查询所有
这条语句从 hellosql 表中查询所有列的所有记录。使用 * 表示选择所有列。
SELECT * from hellosql; // 查询某个表所有的数据 返回的是一个列表
条件查询
仅查询 id 列值为 1 的记录。
SELECT * from hellosql WHERE id = 1
多条件查询
查询同时满足 id 为 1 和 no 为 11 的记录。
SELECT * from hellosql WHERE id = 1 AND no = 11
模糊查询
使用 LIKE 进行字符串匹配,% 代表任意字符
SELECT * from hellosql WHERE NAME like '%mou'; 前缀模糊查询
SELECT * from hellosql WHERE NAME like 'zhai%'; 后缀模糊查询
SELECT * from hellosql WHERE NAME like '%ai%';全模糊查询
分页查询
从第二条记录开始,返回两条记录。LIMIT 的第一个参数是起始索引(从 0 开始),第二个参数是返回的记录数
SELECT * from hellosql LIMIT 1,2
排序查询
根据 id 列的值对结果进行升序或降序排列
hellosql 表中选取所有列的数据,并按 id 列降序/升序排列
SELECT * from hellosql order by id DESC
SELECT * from hellosql order by id ASC
分组查询
按 description 列进行分组,并统计每组的记录数,HAVING 用于筛选符合条件的分组结果。
SELECT count(*) from hellosql GROUP BY description HAVING description = 'wuhuman'
⭐️⭐️关联查询
进行左连接查询,返回 hellosql 表和 role 表中匹配的记录
常用的左连接(LEFT JOIN 或 LEFT OUTER JOIN)的 SQL 语法格式如下:
SELECT columns FROM table_a AS a LEFT JOIN table_b AS b ON a.join_column = b.join_column;
语法详解:
- SELECT columns:指定要选择的列,可以是表中的所有列(
*)或特定列(如a.column_name, b.column_name)。 - FROM table_a AS a:指定左表(
table_a)并给它一个别名(a),便于后续引用。 - LEFT JOIN table_b AS b:指定右表(
table_b)并给它一个别名(b),表示进行左连接。 - ON a.join_column = b.join_column:定义连接条件,说明两个表中哪些列用于匹配记录。
SELECT hellosql.*,role.role FROM hellosql left JOIN role ON role.h_id = hellosql.id

关联分页查询
在关联查询的基础上加上返回前两条记录 也就是可以分页
SELECT hellosql.*,role.role as role FROM hellosql left JOIN role ON role.h_id = hellosql.id limit 0,2
添加数据insert
语句向 hellosql 表中插入一条新记录。指定了 name、description 和 no 列的值。
INSERT INTO `hellosql` ( `name`, `description`, `no` )
VALUES( 'wuhuman3333', 'zhaimou', 999 )
插入多条记录
INSERT INTO hellosql (name, description, no) VALUES ('wuhuman1', 'description 1', 1), ('wuhuman2', 'description 2', 2), ('wuhuman3', 'description 3', 3);
不指定列名(适用于所有列都有值的情况)
INSERT INTO hellosql
VALUES (NULL, 'wuhuman4', 'description 4', 4);
如果插入的值为所有列,并且表中有自增的主键(通常是 NULL),可以省略列名,直接插入值
更新数据
这条语句将 id 为 1 的记录的 name 列更新为 zhaimou666
UPDATE hellosql
SET NAME = 'zhaimou666'
WHEREid = 1
更新多条记录
语句将所有 description 为 'example description' 的记录的 no 列的值加 1。
UPDATE hellosql SET no = no + 1 WHERE description = 'example description';
更新多个列
这条语句将 id 为 2 的记录的 name 和 description 列同时更新为新的值。
UPDATE hellosql SET name = 'new_name', description = 'new description' WHERE id = 2;
更新不满足条件的记录
这条语句将所有 description 列值为 NULL 的记录更新为 'default description'
UPDATE hellosql SET description = 'default description' WHERE description IS NULL;
删除
这条语句将删除 id 为 2 的记录。
DELETE from hellosql where id = 2;
或根据条件删除
DELETE FROM hellosql WHERE no < 5;
删除全部
truncate table yourtablename
统计数据函数(sum 、count)
select count(*) from hellosql;select sum(goods) from hellosql;
文章到这里就结束了 会持续更新技术文章
相关文章:
Mysql常用语法一篇文章速成
文章目录 前言前置环境数据库的增删改查查询数据查询所有条件查询多条件查询模糊查询分页查询排序查询分组查询⭐️⭐️关联查询关联分页查询 添加数据insert插入多条记录不指定列名(适用于所有列都有值的情况) 更新数据更新多条记录更新多个列更新不满足条件的记录 删除统计数…...
Intel nuc x15 重装系统步骤和注意事项(LAPKC71F、LAPKC71E、LAPKC51E)
注意本教程的对象是11代CPU,英伟达独显的nuc x15,不是12代arc显卡的。 x15安装win11 24h2,如果在装系统时联网,windows自动下载的最新驱动有兼容问题,会导致【英特尔显卡控制中心】装不上,或者【英特尔nuc…...
Linux之实战命令59:iwlist应用实例(九十三)
简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【…...
数据库_SQLite3
下载 1、更新软件源: sudo apt-get update 2、下载SQLite3: sudo apt-get install sqlite3 3、验证: sqlite3启动数据库,出现以下界面代表运行正常。输入 .exit 可以退出数据库 4、安装sqlite3的库 sudo apt-get install l…...
.Net Framework里演示怎么样使用StringBuilder、Math.Min和String.Format
StringBuilder、Math.Min和String.Format, 这几个功能都是我们经常使用的功能, 但是怎么样正确地使用,还是得向微软的开发人员学习。 他们在写.Net Framework的源码时,就会大量使用。 因此,我们可以多看看这分代码,就可以理解他们怎么样使用的。 他们的使用方式,一…...
Oracle创建存储过程,创建定时任务
在Oracle数据库中,创建存储过程和定时任务(也称为调度任务)是常见的数据库管理任务。以下是创建存储过程和定时任务的步骤和说明。 创建存储过程 创建存储过程的sql脚本 create or replace procedure 存储过程名称... is begin脚本逻辑...…...
<HarmonyOS第一课>应用/元服务上架的课后习题
善者,吾善之; 不善者,吾亦善之,德善。 信者,吾信之; 不信者,吾亦信之,德信。 圣人在天下,歙歙焉为天下浑其心,百姓皆注其耳目,圣人皆孩之。 通过&…...
【Python】探索函数的奥秘:从基础到高级的深度解析(下)
目录 🍔 函数的参数进阶 1、函数的参数 2、函数的参数类型(调用) 2.1 位置参数 2.2 关键词参数(Python特有) 3、函数定义时缺省参数(参数默认值) 4、不定长参数 4.1 不定长元组(位置)参数…...
ima.copilot:智慧因你而生
在数字化时代,信息的获取、处理和创作已经成为我们日常工作和学习中不可或缺的一部分。腾讯公司推出的ima.copilot(简称ima)正是为了满足这一需求,它是一款由腾讯混元大模型提供技术支持的智能工作台产品,旨在通过智能…...
Vue-$el属性
原博客地址:深入 Vue.js 的心脏:全面剖析 $el 属性_vue $el-CSDN博客 目录 1 $el是什么 1.1 $el本质 1.2 访问$el时机 1.3 $el与模板的关系 2 $el使用场景 2.1 集成第三方库 2.2 操作DOM元素样式 2.3 处理焦点和事件 2.4 实现自定义指令 3 $e…...
LLC Power Switches and Resonant Tank 笔记
1.概述 上面是一个典型的LLC电路。注意Lm是励磁电感,就是次级线圈空载时的主变压器电感,据说在计算谐振频率时无需关心。然后,作为DCDC电源,它通过调整谐振频率,来改变输出的电流。负载越大,频率越低&#…...
Python 如何在 Web 环境中使用 Matplotlib 进行数据可视化
Python Matplotlib 在 Web 环境中的可视化 数据可视化是数据科学和分析中一个至关重要的部分,它能帮助我们更好地理解和解释数据。在现代应用中,越来越多的开发者希望能够将数据可视化结果展示在网页上。Matplotlib 是 Python 中最常用的数据可视化库之…...
C#-数组:一维数组、二维数组、交错数组
数组:声明初始化过后,就不能在原有的基础上进行 添加 或者 删除 了 一:一维数组 一般将一维数组简称为数组 1.1 数组的声明 int[] arr1; 没有分配房间。初始化后就分配房间了int[] arr2 new int[5]; 存在默认值,为0int[] arr3…...
动态规划应该如何学习?
动态规划如何学习 参考灵神的视频和题解做的笔记(灵神YYDS,以后也都会用这套逻辑去思考) 枚举选哪个: 动态规划入门:从记忆化搜索到递推_哔哩哔哩_bilibili 746. 使用最小花费爬楼梯 - 力扣(LeetCode&a…...
【力扣 + 牛客 | SQL题 | 每日4题】牛客SQL热题210,213,212,219
1. 力扣SQL1076:项目员工2 1.1 题目: 表:Project ---------------------- | Column Name | Type | ---------------------- | project_id | int | | employee_id | int | ---------------------- (project_id, employee_id) 是…...
Qt 应用开发之 MVC 架构
在Qt应用开发中,MVC(Model-View-Controller)架构确实是一种常用的设计模式,它通过将应用程序的业务逻辑、数据展示和用户交互分离开来,显著提高了代码的可维护性和可扩展性。以下是MVC架构在Qt应用开发中的原理阐述&am…...
python之字符串总结
字符串(str) 对于字符串的学习,我整理了网上的一些资料,希望可以帮助到各位!!! 概述 由多个字母,数字,特殊字符组成的有限序列 字符串的定义:可以使用一对…...
Flutter鸿蒙next 封装 Dio 网络请求详解:登录身份验证与免登录缓存
✅近期推荐:求职神器 https://bbs.csdn.net/topics/619384540 🔥欢迎大家订阅系列专栏:flutter_鸿蒙next 💬淼学派语录:只有不断的否认自己和肯定自己,才能走出弯曲不平的泥泞路,因为平坦的大路…...
sql server复制一张表(表结构或表数据)SQL语句整理
1. 复制表结构及数据到新表 CREATE TABLE 新表 SELECT * FROM 旧表;这种方法会复制 旧表 中的所有内容到 新表,但新表不会保留原表的主键、自动递增等属性。为了保持这些属性,需要使用 ALTER 语句进行后续处理 2. 只复制表结构到新表 使用条件始终为假…...
c语言-进位计数制
文章目录 一、进位计数制是什么?二、c语言1.二进制转十进制2.十进制转二进制 一、进位计数制是什么? 进位计数制简称进制,是人类用于计算数量的基本规则。 可使用数字符号的数目称为基数或底数,基数个数为n个,即可称n…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
